// EnergyPlus, Copyright (c) 1996-2025, The Board of Trustees of the University of Illinois,
// The Regents of the University of California, through Lawrence Berkeley National Laboratory
// (subject to receipt of any required approvals from the U.S. Dept. of Energy), Oak Ridge
// National Laboratory, managed by UT-Battelle, Alliance for Sustainable Energy, LLC, and other
// contributors. All rights reserved.
//
// NOTICE: This Software was developed under funding from the U.S. Department of Energy and the
// U.S. Government consequently retains certain rights. As such, the U.S. Government has been
// granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable,
// worldwide license in the Software to reproduce, distribute copies to the public, prepare
// derivative works, and perform publicly and display publicly, and to permit others to do so.
//
// Redistribution and use in source and binary forms, with or without modification, are permitted
// provided that the following conditions are met:
//
// (1) Redistributions of source code must retain the above copyright notice, this list of
//     conditions and the following disclaimer.
//
// (2) Redistributions in binary form must reproduce the above copyright notice, this list of
//     conditions and the following disclaimer in the documentation and/or other materials
//     provided with the distribution.
//
// (3) Neither the name of the University of California, Lawrence Berkeley National Laboratory,
//     the University of Illinois, U.S. Dept. of Energy nor the names of its contributors may be
//     used to endorse or promote products derived from this software without specific prior
//     written permission.
//
// (4) Use of EnergyPlus(TM) Name. If Licensee (i) distributes the software in stand-alone form
//     without changes from the version obtained under this License, or (ii) Licensee makes a
//     reference solely to the software portion of its product, Licensee must refer to the
//     software as "EnergyPlus version X" software, where "X" is the version number Licensee
//     obtained under this License and may not use a different name for the software. Except as
//     specifically required in this Section (4), Licensee shall not use in a company name, a
//     product name, in advertising, publicity, or other promotional activities any name, trade
//     name, trademark, logo, or other designation of "EnergyPlus", "E+", "e+" or confusingly
//     similar designation, without the U.S. Department of Energy's prior written consent.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

// EnergyPlus::BranchNodeConnections Unit Tests

// Google Test Headers
#include <gtest/gtest.h>

#include "Fixtures/EnergyPlusFixture.hh"

// ObjexxFCL Headers
#include <ObjexxFCL/Array1D.hh>

// EnergyPlus Headers
#include <EnergyPlus/BranchInputManager.hh>
#include <EnergyPlus/BranchNodeConnections.hh>
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <EnergyPlus/DataBranchNodeConnections.hh>
#include <EnergyPlus/DataErrorTracking.hh>
#include <EnergyPlus/DataGlobalConstants.hh>
#include <EnergyPlus/DataGlobals.hh>
#include <EnergyPlus/DataHeatBalance.hh>
#include <EnergyPlus/DataLoopNode.hh>
#include <EnergyPlus/DataSizing.hh>
#include <EnergyPlus/DataZoneEnergyDemands.hh>
#include <EnergyPlus/ElectricPowerServiceManager.hh>
#include <EnergyPlus/HeatBalanceManager.hh>
#include <EnergyPlus/IOFiles.hh>
#include <EnergyPlus/OutputProcessor.hh>
#include <EnergyPlus/OutputReportPredefined.hh>
#include <EnergyPlus/OutputReportTabular.hh>
#include <EnergyPlus/SimAirServingZones.hh>
#include <EnergyPlus/SimulationManager.hh>
#include <EnergyPlus/SizingManager.hh>
#include <EnergyPlus/UtilityRoutines.hh>

using namespace EnergyPlus;
using namespace EnergyPlus::BranchNodeConnections;
using namespace EnergyPlus::DataBranchNodeConnections;
using namespace EnergyPlus::DataHeatBalance;
using namespace EnergyPlus::DataLoopNode;
using namespace EnergyPlus::DataSizing;
using namespace EnergyPlus::HeatBalanceManager;
using namespace EnergyPlus::OutputProcessor;
using namespace EnergyPlus::OutputReportTabular;
using namespace SimulationManager;

namespace EnergyPlus {

TEST_F(EnergyPlusFixture, BranchNodeErrorCheck_SingleNode)
{
    bool errFlag = false;
    RegisterNodeConnection(*state,
                           1,
                           "BadNode",
                           DataLoopNode::ConnectionObjectType::FanOnOff,
                           "Object1",
                           DataLoopNode::ConnectionType::ZoneNode,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    bool ErrorsFound = false;

    CheckNodeConnections(*state, ErrorsFound);

    EXPECT_FALSE(errFlag);     // Node should register without error
    EXPECT_FALSE(ErrorsFound); // Node check should not fail on Check 10 -- zone node name must be unique
}

TEST_F(EnergyPlusFixture, BranchNodeErrorCheck11Test)
{
    bool errFlag = false;
    RegisterNodeConnection(*state,
                           1,
                           "BadNode",
                           DataLoopNode::ConnectionObjectType::FanOnOff,
                           "Object1",
                           DataLoopNode::ConnectionType::ZoneNode,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    RegisterNodeConnection(*state,
                           2,
                           "GoodNode",
                           DataLoopNode::ConnectionObjectType::FanOnOff,
                           "Object2",
                           DataLoopNode::ConnectionType::Sensor,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    RegisterNodeConnection(*state,
                           1,
                           "BadNode",
                           DataLoopNode::ConnectionObjectType::FanOnOff,
                           "Object3",
                           DataLoopNode::ConnectionType::ZoneNode,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    RegisterNodeConnection(*state,
                           2,
                           "GoodNode",
                           DataLoopNode::ConnectionObjectType::FanOnOff,
                           "Object4",
                           DataLoopNode::ConnectionType::Outlet,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    bool ErrorsFound = false;

    CheckNodeConnections(*state, ErrorsFound);
    std::string const error_string =
        delimited_string({"   ** Severe  ** Node Connection Error, Node Name=\"BadNode\", The same zone node appears more than once.",
                          "   **   ~~~   ** Reference Object=Fan:OnOff, Object Name=Object1",
                          "   **   ~~~   ** Reference Object=Fan:OnOff, Object Name=Object3"});

    EXPECT_TRUE(compare_err_stream(error_string, true));
    EXPECT_TRUE(ErrorsFound); // Node check will fail on Check 11 -- zone node name must be unique
}

TEST_F(EnergyPlusFixture, BranchNodeConnections_ReturnPlenumNodeCheckFailure)
{

    std::string const idf_objects = delimited_string({
        " Output:Diagnostics, DisplayExtraWarnings;",
        " Timestep, 4;",
        " BUILDING, BranchNodeConnections_ReturnPlenumNodeCheckFailure, 0.0, Suburbs, .04, .4, FullExterior, 25, 6;",
        " SimulationControl, YES, YES, NO, YES, NO;",

        "  Site:Location,",
        "    Miami Intl Ap FL USA TMY3 WMO=722020E,    !- Name",
        "    25.82,                 !- Latitude {deg}",
        "    -80.30,                !- Longitude {deg}",
        "    -5.00,                 !- Time Zone {hr}",
        "    11;                    !- Elevation {m}",

        "SizingPeriod:DesignDay,",
        " Miami Intl Ap Ann Clg .4% Condns DB/MCWB, !- Name",
        " 7,                        !- Month",
        " 21,                       !- Day of Month",
        " SummerDesignDay,          !- Day Type",
        " 31.7,                     !- Maximum Dry - Bulb Temperature{ C }",
        " 10.0,                      !- Daily Dry - Bulb Temperature Range{ deltaC }",
        " ,                         !- Dry - Bulb Temperature Range Modifier Type",
        " ,                         !- Dry - Bulb Temperature Range Modifier Day Schedule Name",
        " Wetbulb,                  !- Humidity Condition Type",
        " 22.7,                     !- Wetbulb or DewPoint at Maximum Dry - Bulb{ C }",
        " ,                         !- Humidity Condition Day Schedule Name",
        " ,                         !- Humidity Ratio at Maximum Dry - Bulb{ kgWater / kgDryAir }",
        " ,                         !- Enthalpy at Maximum Dry - Bulb{ J / kg }",
        " ,                         !- Daily Wet - Bulb Temperature Range{ deltaC }",
        " 101217.,                  !- Barometric Pressure{ Pa }",
        " 3.8,                      !- Wind Speed{ m / s }",
        " 340,                      !- Wind Direction{ deg }",
        " No,                       !- Rain Indicator",
        " No,                       !- Snow Indicator",
        " No,                       !- Daylight Saving Time Indicator",
        " ASHRAEClearSky,           !- Solar Model Indicator",
        " ,                         !- Beam Solar Day Schedule Name",
        " ,                         !- Diffuse Solar Day Schedule Name",
        " ,                         !- ASHRAE Clear Sky Optical Depth for Beam Irradiance( taub ) { dimensionless }",
        " ,                         !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance( taud ) { dimensionless }",
        " 1.00;                     !- Sky Clearness",

        "SizingPeriod:DesignDay,",
        " Miami Intl Ap Ann Htg 99.6% Condns DB, !- Name",
        " 1,                        !- Month",
        " 21,                       !- Day of Month",
        " WinterDesignDay,          !- Day Type",
        " 8.7,                      !- Maximum Dry - Bulb Temperature{ C }",
        " 0.0,                      !- Daily Dry - Bulb Temperature Range{ deltaC }",
        " ,                         !- Dry - Bulb Temperature Range Modifier Type",
        " ,                         !- Dry - Bulb Temperature Range Modifier Day Schedule Name",
        " Wetbulb,                  !- Humidity Condition Type",
        " 8.7,                      !- Wetbulb or DewPoint at Maximum Dry - Bulb{ C }",
        " ,                         !- Humidity Condition Day Schedule Name",
        " ,                         !- Humidity Ratio at Maximum Dry - Bulb{ kgWater / kgDryAir }",
        " ,                         !- Enthalpy at Maximum Dry - Bulb{ J / kg }",
        " ,                         !- Daily Wet - Bulb Temperature Range{ deltaC }",
        " 101217.,                  !- Barometric Pressure{ Pa }",
        " 3.8,                      !- Wind Speed{ m / s }",
        " 340,                      !- Wind Direction{ deg }",
        " No,                       !- Rain Indicator",
        " No,                       !- Snow Indicator",
        " No,                       !- Daylight Saving Time Indicator",
        " ASHRAEClearSky,           !- Solar Model Indicator",
        " ,                         !- Beam Solar Day Schedule Name",
        " ,                         !- Diffuse Solar Day Schedule Name",
        " ,                         !- ASHRAE Clear Sky Optical Depth for Beam Irradiance( taub ) { dimensionless }",
        " ,                         !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance( taud ) { dimensionless }",
        " 0.00;                     !- Sky Clearness",

        "OutputControl:Table:Style,",
        "  HTML;                    !- Column Separator",

        "Output:Table:SummaryReports,",
        "  AllSummaryAndSizingPeriod; !- Report 1 Name",

        "Zone,",
        " Plenum zone,              !- Name",
        "  0.0000,                  !- Direction of Relative North {deg}",
        "  0.0000,                  !- X Origin {m}",
        "  0.0000,                  !- Y Origin {m}",
        "  0.0000,                  !- Z Origin {m}",
        "  1,                       !- Type",
        "  1,                       !- Multiplier",
        "  2.4,                     !- Ceiling Height {m}",
        "  ,                        !- Volume {m3}",
        "  autocalculate;           !- Floor Area {m2}",

        "Zone,",
        "  Space,                   !- Name",
        "  0.0000,                  !- Direction of Relative North {deg}",
        "  0.0000,                  !- X Origin {m}",
        "  0.0000,                  !- Y Origin {m}",
        "  0.0000,                  !- Z Origin {m}",
        "  1,                       !- Type",
        "  1,                       !- Multiplier",
        "  2.4,                     !- Ceiling Height {m}",
        "  ,                        !- Volume {m3}",
        "  autocalculate,           !- Floor Area {m2}",
        "  ,                        !- Zone Inside Convection Algorithm",
        "  ,                        !- Zone Outside Convection Algorithm",
        "  Yes;                     !- Part of Total Floor Area",

        "ZoneGroup,",
        " Zone Group,               !- Name",
        " Zone List,                !- Zone List Name",
        " 10;                       !- Zone List Multiplier",

        "ZoneList,",
        " Zone List,                !- Name",
        " Spacex10;                 !- Zone 1 Name",

        "Zone,",
        "  Spacex10,                !- Name",
        "  0.0000,                  !- Direction of Relative North {deg}",
        "  0.0000,                  !- X Origin {m}",
        "  0.0000,                  !- Y Origin {m}",
        "  0.0000,                  !- Z Origin {m}",
        "  1,                       !- Type",
        "  1,                       !- Multiplier",
        "  2.4,                     !- Ceiling Height {m}",
        "  ,                        !- Volume {m3}",
        "  autocalculate,           !- Floor Area {m2}",
        "  ,                        !- Zone Inside Convection Algorithm",
        "  ,                        !- Zone Outside Convection Algorithm",
        "  Yes;                     !- Part of Total Floor Area",

        "Sizing:Zone,",
        " Space,                    !- Zone or ZoneList Name",
        " SupplyAirTemperature,     !- Zone Cooling Design Supply Air Temperature Input Method",
        " 12.,                      !- Zone Cooling Design Supply Air Temperature{ C }",
        " ,                         !- Zone Cooling Design Supply Air Temperature Difference{ deltaC }",
        " SupplyAirTemperature,     !- Zone Heating Design Supply Air Temperature Input Method",
        " 50.,                      !- Zone Heating Design Supply Air Temperature{ C }",
        " ,                         !- Zone Heating Design Supply Air Temperature Difference{ deltaC }",
        " 0.008,                    !- Zone Cooling Design Supply Air Humidity Ratio{ kgWater / kgDryAir }",
        " 0.008,                    !- Zone Heating Design Supply Air Humidity Ratio{ kgWater / kgDryAir }",
        " Space DSOA Design OA Spec,  !- Design Specification Outdoor Air Object Name",
        " 0.0,                      !- Zone Heating Sizing Factor",
        " 0.0,                      !- Zone Cooling Sizing Factor",
        " DesignDay,                !- Cooling Design Air Flow Method",
        " 0,                        !- Cooling Design Air Flow Rate{ m3 / s }",
        " ,                         !- Cooling Minimum Air Flow per Zone Floor Area{ m3 / s - m2 }",
        " ,                         !- Cooling Minimum Air Flow{ m3 / s }",
        " ,                         !- Cooling Minimum Air Flow Fraction",
        " DesignDay,                !- Heating Design Air Flow Method",
        " 0,                        !- Heating Design Air Flow Rate{ m3 / s }",
        " ,                         !- Heating Maximum Air Flow per Zone Floor Area{ m3 / s - m2 }",
        " ,                         !- Heating Maximum Air Flow{ m3 / s }",
        " ;                         !- Heating Maximum Air Flow Fraction",

        "Sizing:Zone,",
        " Spacex10,                 !- Zone or ZoneList Name",
        " SupplyAirTemperature,     !- Zone Cooling Design Supply Air Temperature Input Method",
        " 12.,                      !- Zone Cooling Design Supply Air Temperature{ C }",
        " ,                         !- Zone Cooling Design Supply Air Temperature Difference{ deltaC }",
        " SupplyAirTemperature,     !- Zone Heating Design Supply Air Temperature Input Method",
        " 50.,                      !- Zone Heating Design Supply Air Temperature{ C }",
        " ,                         !- Zone Heating Design Supply Air Temperature Difference{ deltaC }",
        " 0.008,                    !- Zone Cooling Design Supply Air Humidity Ratio{ kgWater / kgDryAir }",
        " 0.008,                    !- Zone Heating Design Supply Air Humidity Ratio{ kgWater / kgDryAir }",
        " Spacex10 DSOA Design OA Spec, !- Design Specification Outdoor Air Object Name",
        " 0.0,                      !- Zone Heating Sizing Factor",
        " 0.0,                      !- Zone Cooling Sizing Factor",
        " DesignDay,                !- Cooling Design Air Flow Method",
        " 0,                        !- Cooling Design Air Flow Rate{ m3 / s }",
        " ,                         !- Cooling Minimum Air Flow per Zone Floor Area{ m3 / s - m2 }",
        " ,                         !- Cooling Minimum Air Flow{ m3 / s }",
        " ,                         !- Cooling Minimum Air Flow Fraction",
        " DesignDay,                !- Heating Design Air Flow Method",
        " 0,                        !- Heating Design Air Flow Rate{ m3 / s }",
        " ,                         !- Heating Maximum Air Flow per Zone Floor Area{ m3 / s - m2 }",
        " ,                         !- Heating Maximum Air Flow{ m3 / s }",
        " ;                         !- Heating Maximum Air Flow Fraction",
        " ",

        "People,",
        " Space People,             !- Name",
        " Space,                    !- Zone or ZoneList Name",
        " OnSched,                  !- Number of People Schedule Name",
        " people,                   !- Number of People Calculation Method",
        " 11,                       !- Number of People",
        " ,                         !- People per Zone Floor Area{ person / m2 }",
        " ,                         !- Zone Floor Area per Person{ m2 / person }",
        " 0.3,                      !- Fraction Radiant",
        " AutoCalculate,            !- Sensible Heat Fraction",
        " ActivityLevelSched;       !- Activity Level Schedule Name",

        "People,",
        " Spacex10 People,          !- Name",
        " Spacex10,                 !- Zone or ZoneList Name",
        " OnSched,                  !- Number of People Schedule Name",
        " people,                   !- Number of People Calculation Method",
        " 11,                       !- Number of People",
        " ,                         !- People per Zone Floor Area{ person / m2 }",
        " ,                         !- Zone Floor Area per Person{ m2 / person }",
        " 0.3,                      !- Fraction Radiant",
        " AutoCalculate,            !- Sensible Heat Fraction",
        " ActivityLevelSched;       !- Activity Level Schedule Name",

        "Lights,",
        " Space Lights,             !- Name",
        " Space,                    !- Zone or ZoneList Name",
        " OnSched,                  !- Schedule Name",
        " Watts/Area,               !- Design Level Calculation Method",
        " ,                         !- Lighting Level{ W }",
        " 10.0,                     !- Watts per Zone Floor Area{ W / m2 }",
        " ,                         !- Watts per Person{ W / person }",
        " 0.1,                      !- Return Air Fraction",
        " 0.59,                     !- Fraction Radiant",
        " 0.2,                      !- Fraction Visible",
        " 0,                        !- Fraction Replaceable",
        " GeneralLights;            !- End - Use Subcategory",

        "Lights,",
        " Space Lights x10,         !- Name",
        " Spacex10,                 !- Zone or ZoneList Name",
        " OnSched,                  !- Schedule Name",
        " Watts/Area,               !- Design Level Calculation Method",
        " ,                         !- Lighting Level{ W }",
        " 10.0,                     !- Watts per Zone Floor Area{ W / m2 }",
        " ,                         !- Watts per Person{ W / person }",
        " 0.1,                      !- Return Air Fraction",
        " 0.59,                     !- Fraction Radiant",
        " 0.2,                      !- Fraction Visible",
        " 0,                        !- Fraction Replaceable",
        " GeneralLights;            !- End - Use Subcategory",

        "ElectricEquipment,",
        " Space ElecEq,             !- Name",
        " Space,                    !- Zone or ZoneList Name",
        " OnSched,                  !- Schedule Name",
        " Watts/Area,               !- Design Level Calculation Method",
        " ,                         !- Design Level{ W }",
        " 20.0,                     !- Watts per Zone Floor Area{ W / m2 }",
        " ,                         !- Watts per Person{ W / person }",
        " 0.1,                      !- Fraction Latent",
        " 0.3,                      !- Fraction Radiant",
        " 0.1;                      !- Fraction Lost",

        "ElectricEquipment,",
        " Space ElecEq x10,         !- Name",
        " Spacex10,                 !- Zone or ZoneList Name",
        " OnSched,                  !- Schedule Name",
        " Watts/Area,               !- Design Level Calculation Method",
        " ,                         !- Design Level{ W }",
        " 20.0,                     !- Watts per Zone Floor Area{ W / m2 }",
        " ,                         !- Watts per Person{ W / person }",
        " 0.1,                      !- Fraction Latent",
        " 0.3,                      !- Fraction Radiant",
        " 0.1;                      !- Fraction Lost",

        "Schedule:Compact,",
        " OnSched,                  !- Name",
        " Fraction,                 !- Schedule Type Limits Name",
        " Through: 12/31,           !- Field 1",
        " For: AllDays,             !- Field 2",
        " Until: 24:00, 1.0;        !- Field 26",

        "ScheduleTypeLimits,",
        " Fraction,                 !- Name",
        " 0.0,                      !- Lower Limit Value",
        " 1.0,                      !- Upper Limit Value",
        " CONTINUOUS;               !- Numeric Type",

        "Construction,",
        " INT-WALL-1,               !- Name",
        " GP02,                     !- Outside Layer",
        " AL21,                     !- Layer 2",
        " GP02;                     !- Layer 3",

        "Material,",
        " GP02,                     !- Name",
        " MediumSmooth,             !- Roughness",
        " 1.5900001E-02,            !- Thickness{ m }",
        " 0.1600000,                !- Conductivity{ W / m - K }",
        " 801.0000,                 !- Density{ kg / m3 }",
        " 837.0000,                 !- Specific Heat{ J / kg - K }",
        " 0.9000000,                !- Thermal Absorptance",
        " 0.7500000,                !- Solar Absorptance",
        " 0.7500000;                !- Visible Absorptance",

        "Material:AirGap,",
        " AL21,                     !- Name",
        " 0.1570000;                !- Thermal Resistance{ m2 - K / W }",

        "Construction,",
        "FLOOR-SLAB-1,              !- Name",
        "CC03,                      !- Outside Layer",
        "CP01;                      !- Layer 2",

        "Material,",
        " CC03,                     !- Name",
        " MediumRough,              !- Roughness",
        " 0.1016000,                !- Thickness{ m }",
        " 1.310000,                 !- Conductivity{ W / m - K }",
        " 2243.000,                 !- Density{ kg / m3 }",
        " 837.0000,                 !- Specific Heat{ J / kg - K }",
        " 0.9000000,                !- Thermal Absorptance",
        " 0.6500000,                !- Solar Absorptance",
        " 0.6500000;                !- Visible Absorptance",

        "Material:NoMass,",
        " CP01,                     !- Name",
        " Rough,                    !- Roughness",
        " 0.3670000,                !- Thermal Resistance{ m2 - K / W }",
        " 0.9000000,                !- Thermal Absorptance",
        " 0.7500000,                !- Solar Absorptance",
        " 0.7500000;                !- Visible Absorptance",

        "Construction,",
        " CLNG-1,                   !- Name",
        " MAT-CLNG-1;               !- Outside Layer",

        "Material:NoMass,",
        " MAT-CLNG-1,               !- Name",
        " Rough,                    !- Roughness",
        " 0.652259290,              !- Thermal Resistance{ m2 - K / W }",
        " 0.65,                     !- Thermal Absorptance",
        " 0.65,                     !- Solar Absorptance",
        " 0.65;                     !- Visible Absorptance",

        "BuildingSurface:Detailed,",
        " FRONT-1,                  !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Outdoors,                 !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " SunExposed,               !- Sun Exposure",
        " WindExposed,              !- Wind Exposure",
        " 0.50000,                  !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 0.0, 0.0, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 2 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 3 {m}",
        " 30.5, 0.0, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " C1-1-Plenum,              !- Name",
        " CEILING,                  !- Surface Type",
        " CLNG-1,                   !- Construction Name",
        " Plenum Zone,              !- Zone Name",
        "    ,                        !- Space Name",
        " Outdoors,                 !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 3.7, 3.7, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 0.0, 0.0, 2.4,            !- X, Y, Z == > Vertex 2 {m}",
        " 30.5, 0.0, 2.4,           !- X, Y, Z == > Vertex 3 {m}",
        " 26.8, 3.7, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " C1-1,                     !- Name",
        " CEILING,                  !- Surface Type",
        " CLNG-1,                   !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Outdoors,                 !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 3.7, 3.7, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 0.0, 0.0, 2.4,            !- X, Y, Z == > Vertex 2 {m}",
        " 30.5, 0.0, 2.4,           !- X, Y, Z == > Vertex 3 {m}",
        " 26.8, 3.7, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " F1-1,                     !- Name",
        " FLOOR,                    !- Surface Type",
        " FLOOR-SLAB-1,             !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Ground,                   !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 1 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 3.7, 3.7, 0.0;            !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB12,                     !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 30.5, 0.0, 2.4,           !- X, Y, Z == > Vertex 1 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 3 {m}",
        " 26.8, 3.7, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB14,                     !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 3.7, 3.7, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 3.7, 3.7, 0.0,            !- X, Y, Z == > Vertex 2 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 0.0, 0.0, 2.4;            !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB15,                     !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 26.8, 3.7, 2.4,           !- X, Y, Z == > Vertex 1 {m}",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 3.7, 3.7, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 3.7, 3.7, 2.4;            !- X, Y, Z == > Vertex 4 {m}",

        "ZoneControl:Thermostat,",
        " Space Thermostat,         !- Name",
        " Space,                    !- Zone or ZoneList Name",
        " Dual Zone Control Type Sched,  !- Control Type Schedule Name",
        " ThermostatSetpoint:DualSetpoint,  !- Control 1 Object Type",
        " Space DualSPSched;        !- Control 1 Name",

        "ZoneControl:Thermostat,",
        " Spacex10 Thermostat,      !- Name",
        " Spacex10,                 !- Zone or ZoneList Name",
        " Dual Zone Control Type Sched,  !- Control Type Schedule Name",
        " ThermostatSetpoint:DualSetpoint,  !- Control 1 Object Type",
        " Space DualSPSched;        !- Control 1 Name",

        "Schedule:Compact,",
        " Dual Zone Control Type Sched,  !- Name",
        " Any Number,               !- Schedule Type Limits Name",
        " Through: 12/31,           !- Field 1",
        " For: AllDays,             !- Field 2",
        " Until: 24:00,4;           !- Field 3",

        "ThermostatSetpoint:DualSetpoint,",
        " Space DualSPSched,        !- Name",
        " HTGSETP_SCH,              !- Heating Setpoint Temperature Schedule Name",
        " CLGSETP_SCH;              !- Cooling Setpoint Temperature Schedule Name",

        "Schedule:Compact,",
        " CLGSETP_SCH,              !- Name",
        " Any Number,               !- Schedule Type Limits Name",
        " Through: 12/31,           !- Field 1",
        " For: AllDays,             !- Field 19",
        " Until: 24:00,22.1;        !- Field 20",

        "Schedule:Compact,",
        " HTGSETP_SCH,              !- Name",
        " Any Number,               !- Schedule Type Limits Name",
        " Through: 12/31,           !- Field 1",
        " For: AllDays,             !- Field 22",
        " Until: 24:00, 21.9;       !- Field 23",

        "BuildingSurface:Detailed,",
        " FRONT-1x10,               !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Outdoors,                 !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " SunExposed,               !- Sun Exposure",
        " WindExposed,              !- Wind Exposure",
        " 0.50000,                  !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 0.0, 0.0, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 2 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 3 {m}",
        " 30.5, 0.0, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " C1-1x10,                  !- Name",
        " CEILING,                  !- Surface Type",
        " CLNG-1,                   !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Outdoors,                 !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 3.7, 3.7, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 0.0, 0.0, 2.4,            !- X, Y, Z == > Vertex 2 {m}",
        " 30.5, 0.0, 2.4,           !- X, Y, Z == > Vertex 3 {m}",
        " 26.8, 3.7, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " F1-1x10,                  !- Name",
        " FLOOR,                    !- Surface Type",
        " FLOOR-SLAB-1,             !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Ground,                   !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 1 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 3.7, 3.7, 0.0;            !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB12x10,                  !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 30.5, 0.0, 2.4,           !- X, Y, Z == > Vertex 1 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 3 {m}",
        " 26.8, 3.7, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB14x10,                  !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 3.7, 3.7, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 3.7, 3.7, 0.0,            !- X, Y, Z == > Vertex 2 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 0.0, 0.0, 2.4;            !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB15x10,                  !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 26.8, 3.7, 2.4,           !- X, Y, Z == > Vertex 1 {m}",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 3.7, 3.7, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 3.7, 3.7, 2.4;            !- X, Y, Z == > Vertex 4 {m}",

        "Sizing:System,",
        " DOAS,                     !- AirLoop Name",
        " VentilationRequirement,   !- Type of Load to Size On",
        " autosize,                 !- Design Outdoor Air Flow Rate {m3/s}",
        " 1.0,                      !- Central Heating Maximum System Air Flow Ratio",
        " 2,                        !- Preheat Design Temperature {C}",
        " 0.008,                    !- Preheat Design Humidity Ratio {kgWater/kgDryAir}",
        " 11,                       !- Precool Design Temperature {C}",
        " 0.008,                    !- Precool Design Humidity Ratio {kgWater/kgDryAir}",
        " 16,                       !- Central Cooling Design Supply Air Temperature {C}",
        " 12.2,                     !- Central Heating Design Supply Air Temperature {C}",
        " NonCoincident,            !- Type of Zone Sum to Use",
        " Yes,                      !- 100% Outdoor Air in Cooling",
        " Yes,                      !- 100% Outdoor Air in Heating",
        " 0.0103,                   !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir}",
        " 0.003,                    !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir}",
        " DesignDay,                !- Cooling Supply Air Flow Rate Method",
        " 0,                        !- Cooling Supply Air Flow Rate {m3/s}",
        " ,                         !- Cooling Supply Air Flow Rate Per Floor Area {m3/s-m2}",
        " ,                         !- Cooling Fraction of Autosized Cooling Supply Air Flow Rate",
        " ,                         !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W}",
        " DesignDay,                !- Heating Supply Air Flow Rate Method",
        " 0,                        !- Heating Supply Air Flow Rate {m3/s}",
        " ,                         !- Heating Supply Air Flow Rate Per Floor Area {m3/s-m2}",
        " ,                         !- Heating Fraction of Autosized Heating Supply Air Flow Rate",
        " ,                         !- Heating Fraction of Autosized Cooling Supply Air Flow Rate",
        " ,                         !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W}",
        " ZoneSum,                  !- System Outdoor Air Method",
        " 1.0,                      !- Zone Maximum Outdoor Air Fraction {dimensionless}",
        " CoolingDesignCapacity,    !- Cooling Design Capacity Method",
        " autosize,                 !- Cooling Design Capacity {W}",
        " ,                         !- Cooling Design Capacity Per Floor Area {W/m2}",
        " ,                         !- Fraction of Autosized Cooling Design Capacity",
        " HeatingDesignCapacity,    !- Heating Design Capacity Method",
        " autosize,                 !- Heating Design Capacity {W}",
        " ,                         !- Heating Design Capacity Per Floor Area {W/m2}",
        " ,                         !- Fraction of Autosized Heating Design Capacity",
        " OnOff;                    !- Central Cooling Capacity Control Method",

        "AirLoopHVAC,",
        "  DOAS,                    !- Name",
        "  ,                        !- Controller List Name",
        "  DOAS Availability Managers,  !- Availability Manager List Name",
        "  autosize,                !- Design Supply Air Flow Rate {m3/s}",
        "  DOAS Branches,           !- Branch List Name",
        "  ,                        !- Connector List Name",
        "  DOAS Air Loop Inlet,     !- Supply Side Inlet Node Name",
        "  DOAS Return Air Outlet,  !- Demand Side Outlet Node Name",
        "  DOAS Supply Path Inlet,  !- Demand Side Inlet Node Names",
        "  DOAS Supply Fan Outlet;  !- Supply Side Outlet Node Names",

        "BranchList,",
        "  DOAS Branches,           !- Name",
        "  DOAS Main Branch;        !- Branch 1 Name",

        "Branch,",
        "  DOAS Main Branch,        !- Name",
        "  ,                        !- Pressure Drop Curve Name",
        "  AirLoopHVAC:OutdoorAirSystem,  !- Component 1 Object Type",
        "  DOAS OA System,          !- Component 1 Name",
        "  DOAS Air Loop Inlet,     !- Component 1 Inlet Node Name",
        "  DOAS Mixed Air Outlet,   !- Component 1 Outlet Node Name",
        "  CoilSystem:Cooling:DX,   !- Component 2 Object Type",
        "  DOAS Cooling Coil,       !- Component 2 Name",
        "  DOAS Mixed Air Outlet,   !- Component 2 Inlet Node Name",
        "  DOAS Cooling Coil Outlet,!- Component 2 Outlet Node Name",
        "  Coil:Heating:Fuel,        !- Component 2 Object Type",
        "  DOAS Heating Coil,       !- Component 2 Name",
        "  DOAS Cooling Coil Outlet,  !- Component 2 Inlet Node Name",
        "  DOAS Heating Coil Outlet,!- Component 2 Outlet Node Name",
        "  Fan:VariableVolume,      !- Component 3 Object Type",
        "  DOAS Supply Fan,         !- Component 3 Name",
        "  DOAS Heating Coil Outlet,!- Component 3 Inlet Node Name",
        "  DOAS Supply Fan Outlet;  !- Component 3 Outlet Node Name",

        "AirLoopHVAC:SupplyPath,",
        "  DOAS Supply Path,        !- Name",
        "  DOAS Supply Path Inlet,  !- Supply Air Path Inlet Node Name",
        "  AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type",
        "  DOAS Zone Splitter;      !- Component 1 Name",

        "AirLoopHVAC:ZoneSplitter,",
        "  DOAS Zone Splitter,      !- Name",
        "  DOAS Supply Path Inlet,  !- Inlet Node Name",
        "  Space ATU In Node,  !- Outlet 1 Node Name",
        "  Spacex10 ATU In Node;  !- Outlet 27 Node Name",

        "AirLoopHVAC:ReturnPath,",
        "  DOAS Return Path,         !- Name",
        "  DOAS Return Air Outlet,   !- Return Air Path Outlet Node Name",
        "  AirLoopHVAC:ReturnPlenum, !- Component 1 Object Type",
        "  DOAS Zone Return Plenum;  !- Component 1 Name",

        "AirLoopHVAC:ReturnPlenum,",
        "  DOAS Zone Return Plenum,  !- Name",
        "  Plenum zone,              !- Zone Name",
        "  Space Node,               !- Zone Node Name", // illegal use of non-unique zone node name
        "  DOAS Return Air Outlet,   !- Outlet Node Name",
        "  ,                         !- Induced Air Outlet Node or NodeList Name",
        "  Space Ret Node,           !- Inlet 1 Node Name",
        "  Spacex10 Ret Node;        !- Inlet 2 Node Name",

        "AvailabilityManagerAssignmentList,",
        "  DOAS Availability Managers,  !- Name",
        "  AvailabilityManager:Scheduled,  !- Availability Manager 1 Object Type",
        "  DOAS Availability;       !- Availability Manager 1 Name",

        "AvailabilityManager:Scheduled,",
        "  DOAS Availability,       !- Name",
        "  AvailSched;              !- Schedule Name",

        "NodeList,",
        "  DOAS Cooling Setpoint Nodes,  !- Name",
        "  DOAS Cooling Coil Outlet, !- Node 1 Name",
        "  DOAS Heating Coil Outlet; !- Node 1 Name",

        "Schedule:Compact,",
        "  Always 22,               !- Name",
        "  Any Number,              !- Schedule Type Limits Name",
        "  Through: 12/31,          !- Field 1",
        "  For: AllDays,            !- Field 2",
        "  Until: 24:00,22;         !- Field 3",

        "SetpointManager:Scheduled,",
        "  DOAS Cooling Supply Air Temp Manager,  !- Name",
        "  Temperature,             !- Control Variable",
        "  Always 22,               !- Schedule Name",
        "  DOAS Supply Fan Outlet;  !- Setpoint Node or NodeList Name",

        "SetpointManager:MixedAir,",
        "  DOAS Cooling Coil Air Temp Manager,  !- Name",
        "  Temperature,             !- Control Variable",
        "  DOAS Supply Fan Outlet,  !- Reference Setpoint Node Name",
        "  DOAS Cooling Coil Outlet,!- Fan Inlet Node Name",
        "  DOAS Supply Fan Outlet,  !- Fan Outlet Node Name",
        "  DOAS Cooling Setpoint Nodes;  !- Setpoint Node or NodeList Name",

        "CoilSystem:Cooling:DX,",
        "  DOAS Cooling Coil,       !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  DOAS Mixed Air Outlet,   !- DX Cooling Coil System Inlet Node Name",
        "  DOAS Cooling Coil Outlet,  !- DX Cooling Coil System Outlet Node Name",
        "  DOAS Cooling Coil Outlet,  !- DX Cooling Coil System Sensor Node Name",
        "  Coil:Cooling:DX:SingleSpeed,  !- Cooling Coil Object Type",
        "  DOAS DX Cooling Coil;    !- Cooling Coil Name",

        "Coil:Cooling:DX:SingleSpeed,",
        "	DOAS DX Cooling Coil,   !- Name",
        " 	AvailSched,            !- Availability Schedule Name",
        "	autosize,              !- Gross Rated Total Cooling Capacity { W }",
        "	autosize,              !- Gross Rated Sensible Heat Ratio",
        "	4.40,                  !- Gross Rated Cooling COP { W / W }",
        "	autosize,              !- Rated Air Flow Rate { m3 / s }",
        "	,                      !- 2017 Rated Evaporator Fan Power Per Volume Flow Rate { W / ( m3 / s ) }",
        "   ,                      !- 2023 Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)}",
        "	DOAS Mixed Air Outlet, !- Air Inlet Node Name",
        "	DOAS Cooling Coil Outlet,    !- Air Outlet Node Name",
        "	Biquadratic,           !- Total Cooling Capacity Function of Temperature Curve Name",
        "	Cubic,                 !- Total Cooling Capacity Function of Flow Fraction Curve Name",
        "	Biquadratic,           !- Energy Input Ratio Function of Temperature Curve Name",
        "	Cubic,                 !- Energy Input Ratio Function of Flow Fraction Curve Name",
        "	Cubic,                 !- Part Load Fraction Correlation Curve Name",
        "	,                      !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C}",
        "	0.0,                   !- Nominal Time for Condensate Removal to Begin",
        "	0.0,                   !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity",
        "	0.0,                   !- Maximum Cycling Rate",
        "	0.0,                   !- Latent Capacity Time Constant",
        "	Cooling Coil Condenser Inlet, !- Condenser Air Inlet Node Name",
        "	EvaporativelyCooled,   !- Condenser Type",
        "	0.0,                   !- Evaporative Condenser Effectiveness",
        "	,                      !- Evaporative Condenser Air Flow Rate",
        "	autosize,              !- Evaporative Condenser Pump Rated Power Consumption",
        "	0.0,                   !- Crankcase Heater Capacity",
        "	10.0;                  !- Maximum Outdoor DryBulb Temperature for Crankcase Heater Operation",

        "Coil:Heating:Fuel,",
        "  DOAS Heating Coil,       !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  NaturalGas,              !- Fuel Type",
        "  0.8,                     !- Gas Burner Efficiency",
        "  autosize,                !- Nominal Capacity {W}",
        "  DOAS Cooling Coil Outlet,  !- Air Inlet Node Name",
        "  DOAS Heating Coil Outlet;  !- Air Outlet Node Name",

        "Fan:VariableVolume,",
        "  DOAS Supply Fan,         !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  0.7,                     !- Fan Total Efficiency",
        "  1000,                    !- Pressure Rise {Pa}",
        "  autosize,                !- Maximum Flow Rate {m3/s}",
        "  Fraction,                !- Fan Power Minimum Flow Rate Input Method",
        "  0.0,                     !- Fan Power Minimum Flow Fraction",
        "  ,                        !- Fan Power Minimum Air Flow Rate {m3/s}",
        "  0.9,                     !- Motor Efficiency",
        "  1,                       !- Motor In Airstream Fraction",
        "  0.0015302446,            !- Fan Power Coefficient 1",
        "  0.0052080574,            !- Fan Power Coefficient 2",
        "  1.1086242,               !- Fan Power Coefficient 3",
        "  -0.11635563,             !- Fan Power Coefficient 4",
        "  0,                       !- Fan Power Coefficient 5",
        "  DOAS Heating Coil Outlet,!- Air Inlet Node Name",
        "  DOAS Supply Fan Outlet;  !- Air Outlet Node Name",

        "OutdoorAir:NodeList,",
        "  DOAS Outdoor Air Inlet,  !- Node or NodeList Name 1",
        "  Cooling Coil Condenser Inlet;  !- Node or NodeList Name 2",

        "AirLoopHVAC:OutdoorAirSystem,",
        "  DOAS OA System,           !- Name",
        "  DOAS OA System Controllers,  !- Controller List Name",
        "  DOAS OA System Equipment; !- Outdoor Air Equipment List Name",

        "AirLoopHVAC:ControllerList,",
        "  DOAS OA System Controllers,  !- Name",
        "  Controller:OutdoorAir,   !- Controller 1 Object Type",
        "  DOAS OA Controller;      !- Controller 1 Name",

        "AirLoopHVAC:OutdoorAirSystem:EquipmentList,",
        "  DOAS OA System Equipment,!- Name",
        "  OutdoorAir:Mixer,        !- Component 1 Object Type",
        "  DOAS OA Mixing Box;      !- Component 1 Name",

        "OutdoorAir:Mixer,",
        "  DOAS OA Mixing Box,      !- Name",
        "  DOAS Mixed Air Outlet,   !- Mixed Air Node Name",
        "  DOAS Outdoor Air Inlet,  !- Outdoor Air Stream Node Name",
        "  DOAS Relief Air Outlet,  !- Relief Air Stream Node Name",
        "  DOAS Air Loop Inlet;     !- Return Air Stream Node Name",

        "Controller:OutdoorAir,",
        "  DOAS OA Controller,      !- Name",
        "  DOAS Relief Air Outlet,  !- Relief Air Outlet Node Name",
        "  DOAS Air Loop Inlet,     !- Return Air Node Name",
        "  DOAS Mixed Air Outlet,   !- Mixed Air Node Name",
        "  DOAS Outdoor Air Inlet,  !- Actuator Node Name",
        "  0,                       !- Minimum Outdoor Air Flow Rate {m3/s}",
        "  autosize,                !- Maximum Outdoor Air Flow Rate {m3/s}",
        "  NoEconomizer,            !- Economizer Control Type",
        "  MinimumFlowWithBypass,   !- Economizer Control Action Type",
        "  ,                        !- Economizer Maximum Limit Dry-Bulb Temperature {C}",
        "  ,                        !- Economizer Maximum Limit Enthalpy {J/kg}",
        "  ,                        !- Economizer Maximum Limit Dewpoint Temperature {C}",
        "  ,                        !- Electronic Enthalpy Limit Curve Name",
        "  12.2,                    !- Economizer Minimum Limit Dry-Bulb Temperature {C}",
        "  NoLockout,               !- Lockout Type",
        "  FixedMinimum,            !- Minimum Limit Type",
        "  ,                        !- Minimum Outdoor Air Schedule Name",
        "  ,                        !- Minimum Fraction of Outdoor Air Schedule Name",
        "  ,                        !- Maximum Fraction of Outdoor Air Schedule Name",
        "  DCVObject;               !- Mechanical Ventilation Controller Name",

        "Controller:MechanicalVentilation,",
        "  DCVObject,               !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  Yes,                     !- Demand Controlled Ventilation",
        "  Standard62.1VentilationRateProcedure,!- System Outdoor Air Method",
        "  ,                        !- Zone Maximum Outdoor Air Fraction {dimensionless}",
        "  Space,  !- Zone 1 Name",
        "  Space DSOA Design OA Spec,  !- Design Specification Outdoor Air Object Name 1",
        "  Space DSOA Design ADE Spec, !- Design Specification Zone Air Distribution Object Name 1",
        "  Spacex10,      !- Zone 2 Name",
        "  Spacex10 DSOA Design OA Spec,  !- Design Specification Outdoor Air Object Name 2",
        "  Space DSOA Design ADE Spec;  !- Design Specification Zone Air Distribution Object Name 2",

        "DesignSpecification:OutdoorAir,",
        "  Space DSOA Design OA Spec,  !- Name",
        "  sum,                     !- Outdoor Air Method",
        "  0.0,                     !- Outdoor Air Flow per Person {m3/s-person}",
        "  0.0009,                  !- Outdoor Air Flow per Zone Floor Area {m3/s-m2}",
        "  0;                       !- Outdoor Air Flow per Zone {m3/s}",

        "DesignSpecification:OutdoorAir,",
        "  Spacex10 DSOA Design OA Spec,  !- Name",
        "  sum,                     !- Outdoor Air Method",
        "  0.008,                   !- Outdoor Air Flow per Person {m3/s-person}",
        "  0.0009,                  !- Outdoor Air Flow per Zone Floor Area {m3/s-m2}",
        "  0;                       !- Outdoor Air Flow per Zone {m3/s}",

        "DesignSpecification:ZoneAirDistribution,",
        "  Space DSOA Design ADE Spec,  !- Name",
        "  1,                       !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless}",
        "  1;                       !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless}",

        "ZoneHVAC:EquipmentConnections,",
        " Space,                    !- Zone Name",
        " Space Eq,                 !- Zone Conditioning Equipment List Name",
        " Space In Node,            !- Zone Air Inlet Node or NodeList Name",
        " ,                         !- Zone Air Exhaust Node or NodeList Name",
        " Space Node,               !- Zone Air Node Name",
        " Space Ret Node;           !- Zone Return Air Node Name",

        "ZoneHVAC:EquipmentList,",
        " Space Eq,                 !- Name",
        " SequentialLoad,           !- Load Distribution Scheme",
        " ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type",
        " Space ATU,                   !- Zone Equipment 1 Name",
        " 1,                        !- Zone Equipment 1 Cooling Sequence",
        " 1;                        !- Zone Equipment 1 Heating or No - Load Sequence",

        "ZoneHVAC:AirDistributionUnit,",
        "  Space ATU,  !- Name",
        "  Space In Node,  !- Air Distribution Unit Outlet Node Name",
        "  AirTerminal:SingleDuct:VAV:NoReheat,  !- Air Terminal Object Type",
        "  Space Air Terminal;  !- Air Terminal Name",

        "AirTerminal:SingleDuct:VAV:NoReheat,",
        "  Space Air Terminal,      !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  Space In Node,           !- Air Outlet Node Name",
        "  Space ATU In Node,       !- Air Inlet Node Name",
        "  autosize,                !- Maximum Air Flow Rate {m3/s}",
        "  Constant,                !- Zone Minimum Air Flow Input Method",
        "  0.0,                     !- Constant Minimum Air Flow Fraction",
        "  ,                        !- Fixed Minimum Air Flow Rate {m3/s}",
        "  ,                        !- Minimum Air Flow Fraction Schedule Name",
        "  ;                        !- Design Specification Outdoor Air Object Name",

        "ZoneHVAC:EquipmentConnections,",
        " Spacex10,                 !- Zone Name",
        " Spacex10 Eq,              !- Zone Conditioning Equipment List Name",
        " Spacex10 In Node,         !- Zone Air Inlet Node or NodeList Name",
        " ,                         !- Zone Air Exhaust Node or NodeList Name",
        " Spacex10 Node,            !- Zone Air Node Name",
        " Spacex10 Ret Node;        !- Zone Return Air Node Name",

        "ZoneHVAC:EquipmentList,",
        " Spacex10 Eq,              !- Name",
        " SequentialLoad,           !- Load Distribution Scheme",
        " ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type",
        " Spacex10 ATU,                !- Zone Equipment 1 Name",
        " 1,                        !- Zone Equipment 1 Cooling Sequence",
        " 1;                        !- Zone Equipment 1 Heating or No - Load Sequence",

        "ZoneHVAC:AirDistributionUnit,",
        "  Spacex10 ATU,  !- Name",
        "  Spacex10 In Node,  !- Air Distribution Unit Outlet Node Name",
        "  AirTerminal:SingleDuct:VAV:NoReheat,  !- Air Terminal Object Type",
        "  Spacex10 Air Terminal;  !- Air Terminal Name",

        "AirTerminal:SingleDuct:VAV:NoReheat,",
        "  Spacex10 Air Terminal,   !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  Spacex10 In Node,        !- Air Outlet Node Name",
        "  Spacex10 ATU In Node,    !- Air Inlet Node Name",
        "  autosize,                !- Maximum Air Flow Rate {m3/s}",
        "  Constant,                !- Zone Minimum Air Flow Input Method",
        "  0.0,                     !- Constant Minimum Air Flow Fraction",
        "  ,                        !- Fixed Minimum Air Flow Rate {m3/s}",
        "  ,                        !- Minimum Air Flow Fraction Schedule Name",
        "  ;                        !- Design Specification Outdoor Air Object Name",

        "ScheduleTypeLimits,",
        "  Any Number;              !- Name",

        "Schedule:Compact,",
        "  AvailSched,              !- Name",
        "  Any Number,              !- Schedule Type Limits Name",
        "  Through: 12/31,          !- Field 3",
        "  For: AllDays,            !- Field 4",
        "  Until: 24:00,1.0;        !- Field 5",

        "Schedule:Compact,",
        "  EquipSched,              !- Name",
        "  Any Number,              !- Schedule Type Limits Name",
        "  Through: 12/31,          !- Field 3",
        "  For: WinterDesignDay,    !- Field 4",
        "  Until: 24:00,0.0,        !- Field 5",
        "  For: AllOtherDays,       !- Field 4",
        "  Until: 24:00,1.0;        !- Field 5",

        "Schedule:Compact,",
        "  ActivityLevelSched,      !- Name",
        "  Any Number,              !- Schedule Type Limits Name",
        "  Through: 12/31,          !- Field 3",
        "  For: AllDays,            !- Field 4",
        "  Until: 24:00,120.0;      !- Field 5",

        "Schedule:Compact,",
        "  FanOpModeSchedule,       !- Name",
        "  Any Number,              !- Schedule Type Limits Name",
        "  Through: 12/31,          !- Field 1",
        "  For: AllDays,            !- Field 2",
        "  Until: 24:00,1.0;        !- Field 7",

        "Curve:Biquadratic,",
        "  Biquadratic,             !- Name",
        "  1.0,                     !- Coefficient1 Constant",
        "  0.0,                     !- Coefficient2 x",
        "  0.0,                     !- Coefficient3 x**2",
        "  0.0,                     !- Coefficient4 y",
        "  0.0,                     !- Coefficient5 y**2",
        "  0.0,                     !- Coefficient6 x*y",
        "  5,                       !- Minimum Value of x",
        "  40,                      !- Maximum Value of x",
        "  5,                       !- Minimum Value of y",
        "  40,                      !- Maximum Value of y",
        "  ,                        !- Minimum Curve Output",
        "  ,                        !- Maximum Curve Output",
        "  Temperature,             !- Input Unit Type for X",
        "  Temperature,             !- Input Unit Type for Y",
        "  Dimensionless;           !- Output Unit Type",

        "Curve:Cubic,",
        "  Cubic,                   !- Name",
        "  1.0,                     !- Coefficient1 Constant",
        "  0.0,                     !- Coefficient2 x",
        "  0.0,                     !- Coefficient3 x**2",
        "  0,                       !- Coefficient4 x**3",
        "  5,                       !- Minimum Value of x",
        "  40,                      !- Maximum Value of x",
        "  ,                        !- Minimum Curve Output",
        "  ,                        !- Maximum Curve Output",
        "  Temperature,             !- Input Unit Type for X",
        "  Temperature;             !- Output Unit Type",
    });

    ASSERT_TRUE(process_idf(idf_objects));
    compare_err_stream("");
    // OutputProcessor::TimeValue.allocate(2);
    state->dataGlobal->DDOnlySimulation = true;

    state->init_state(*state);

    OutputReportPredefined::SetPredefinedTables(*state);
    SetPreConstructionInputParameters(*state); // establish array bounds for constructions early
    createFacilityElectricPowerServiceObject(*state);
    BranchInputManager::ManageBranchInput(*state);
    state->dataGlobal->BeginSimFlag = true;
    state->dataGlobal->BeginEnvrnFlag = true;
    state->dataGlobal->ZoneSizingCalc = true;
    SizingManager::ManageSizing(*state);

    bool ErrorsFound(false);
    BranchNodeConnections::CheckNodeConnections(*state, ErrorsFound);
    EXPECT_TRUE(ErrorsFound); // Node check will fail on Check 11 -- AirLoopHVAC:ReturnPlenum zone node name must be unique
}

TEST_F(EnergyPlusFixture, BranchNodeConnections_ReturnPlenumNodeCheck)
{

    std::string const idf_objects = delimited_string({
        " Output:Diagnostics, DisplayExtraWarnings;",
        " Timestep, 4;",
        " BUILDING, BranchNodeConnections_ReturnPlenumNodeCheck, 0.0, Suburbs, .04, .4, FullExterior, 25, 6;",
        " SimulationControl, YES, YES, NO, YES, NO;",

        "  Site:Location,",
        "    Miami Intl Ap FL USA TMY3 WMO=722020E,    !- Name",
        "    25.82,                 !- Latitude {deg}",
        "    -80.30,                !- Longitude {deg}",
        "    -5.00,                 !- Time Zone {hr}",
        "    11;                    !- Elevation {m}",

        "SizingPeriod:DesignDay,",
        " Miami Intl Ap Ann Clg .4% Condns DB/MCWB, !- Name",
        " 7,                        !- Month",
        " 21,                       !- Day of Month",
        " SummerDesignDay,          !- Day Type",
        " 31.7,                     !- Maximum Dry - Bulb Temperature{ C }",
        " 10.0,                      !- Daily Dry - Bulb Temperature Range{ deltaC }",
        " ,                         !- Dry - Bulb Temperature Range Modifier Type",
        " ,                         !- Dry - Bulb Temperature Range Modifier Day Schedule Name",
        " Wetbulb,                  !- Humidity Condition Type",
        " 22.7,                     !- Wetbulb or DewPoint at Maximum Dry - Bulb{ C }",
        " ,                         !- Humidity Condition Day Schedule Name",
        " ,                         !- Humidity Ratio at Maximum Dry - Bulb{ kgWater / kgDryAir }",
        " ,                         !- Enthalpy at Maximum Dry - Bulb{ J / kg }",
        " ,                         !- Daily Wet - Bulb Temperature Range{ deltaC }",
        " 101217.,                  !- Barometric Pressure{ Pa }",
        " 3.8,                      !- Wind Speed{ m / s }",
        " 340,                      !- Wind Direction{ deg }",
        " No,                       !- Rain Indicator",
        " No,                       !- Snow Indicator",
        " No,                       !- Daylight Saving Time Indicator",
        " ASHRAEClearSky,           !- Solar Model Indicator",
        " ,                         !- Beam Solar Day Schedule Name",
        " ,                         !- Diffuse Solar Day Schedule Name",
        " ,                         !- ASHRAE Clear Sky Optical Depth for Beam Irradiance( taub ) { dimensionless }",
        " ,                         !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance( taud ) { dimensionless }",
        " 1.00;                     !- Sky Clearness",

        "SizingPeriod:DesignDay,",
        " Miami Intl Ap Ann Htg 99.6% Condns DB, !- Name",
        " 1,                        !- Month",
        " 21,                       !- Day of Month",
        " WinterDesignDay,          !- Day Type",
        " 8.7,                      !- Maximum Dry - Bulb Temperature{ C }",
        " 0.0,                      !- Daily Dry - Bulb Temperature Range{ deltaC }",
        " ,                         !- Dry - Bulb Temperature Range Modifier Type",
        " ,                         !- Dry - Bulb Temperature Range Modifier Day Schedule Name",
        " Wetbulb,                  !- Humidity Condition Type",
        " 8.7,                      !- Wetbulb or DewPoint at Maximum Dry - Bulb{ C }",
        " ,                         !- Humidity Condition Day Schedule Name",
        " ,                         !- Humidity Ratio at Maximum Dry - Bulb{ kgWater / kgDryAir }",
        " ,                         !- Enthalpy at Maximum Dry - Bulb{ J / kg }",
        " ,                         !- Daily Wet - Bulb Temperature Range{ deltaC }",
        " 101217.,                  !- Barometric Pressure{ Pa }",
        " 3.8,                      !- Wind Speed{ m / s }",
        " 340,                      !- Wind Direction{ deg }",
        " No,                       !- Rain Indicator",
        " No,                       !- Snow Indicator",
        " No,                       !- Daylight Saving Time Indicator",
        " ASHRAEClearSky,           !- Solar Model Indicator",
        " ,                         !- Beam Solar Day Schedule Name",
        " ,                         !- Diffuse Solar Day Schedule Name",
        " ,                         !- ASHRAE Clear Sky Optical Depth for Beam Irradiance( taub ) { dimensionless }",
        " ,                         !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance( taud ) { dimensionless }",
        " 0.00;                     !- Sky Clearness",

        "OutputControl:Table:Style,",
        "  HTML;                    !- Column Separator",

        "Output:Table:SummaryReports,",
        "  AllSummaryAndSizingPeriod; !- Report 1 Name",

        "Zone,",
        " Plenum zone,              !- Name",
        "  0.0000,                  !- Direction of Relative North {deg}",
        "  0.0000,                  !- X Origin {m}",
        "  0.0000,                  !- Y Origin {m}",
        "  0.0000,                  !- Z Origin {m}",
        "  1,                       !- Type",
        "  1,                       !- Multiplier",
        "  2.4,                     !- Ceiling Height {m}",
        "  ,                        !- Volume {m3}",
        "  autocalculate;           !- Floor Area {m2}",

        "Zone,",
        "  Space,                   !- Name",
        "  0.0000,                  !- Direction of Relative North {deg}",
        "  0.0000,                  !- X Origin {m}",
        "  0.0000,                  !- Y Origin {m}",
        "  0.0000,                  !- Z Origin {m}",
        "  1,                       !- Type",
        "  1,                       !- Multiplier",
        "  2.4,                     !- Ceiling Height {m}",
        "  ,                        !- Volume {m3}",
        "  autocalculate,           !- Floor Area {m2}",
        "  ,                        !- Zone Inside Convection Algorithm",
        "  ,                        !- Zone Outside Convection Algorithm",
        "  Yes;                     !- Part of Total Floor Area",

        "ZoneGroup,",
        " Zone Group,               !- Name",
        " Zone List,                !- Zone List Name",
        " 10;                       !- Zone List Multiplier",

        "ZoneList,",
        " Zone List,                !- Name",
        " Spacex10;                 !- Zone 1 Name",

        "Zone,",
        "  Spacex10,                !- Name",
        "  0.0000,                  !- Direction of Relative North {deg}",
        "  0.0000,                  !- X Origin {m}",
        "  0.0000,                  !- Y Origin {m}",
        "  0.0000,                  !- Z Origin {m}",
        "  1,                       !- Type",
        "  1,                       !- Multiplier",
        "  2.4,                     !- Ceiling Height {m}",
        "  ,                        !- Volume {m3}",
        "  autocalculate,           !- Floor Area {m2}",
        "  ,                        !- Zone Inside Convection Algorithm",
        "  ,                        !- Zone Outside Convection Algorithm",
        "  Yes;                     !- Part of Total Floor Area",

        "Sizing:Zone,",
        " Space,                    !- Zone or ZoneList Name",
        " SupplyAirTemperature,     !- Zone Cooling Design Supply Air Temperature Input Method",
        " 12.,                      !- Zone Cooling Design Supply Air Temperature{ C }",
        " ,                         !- Zone Cooling Design Supply Air Temperature Difference{ deltaC }",
        " SupplyAirTemperature,     !- Zone Heating Design Supply Air Temperature Input Method",
        " 50.,                      !- Zone Heating Design Supply Air Temperature{ C }",
        " ,                         !- Zone Heating Design Supply Air Temperature Difference{ deltaC }",
        " 0.008,                    !- Zone Cooling Design Supply Air Humidity Ratio{ kgWater / kgDryAir }",
        " 0.008,                    !- Zone Heating Design Supply Air Humidity Ratio{ kgWater / kgDryAir }",
        " Space DSOA Design OA Spec,  !- Design Specification Outdoor Air Object Name",
        " 0.0,                      !- Zone Heating Sizing Factor",
        " 0.0,                      !- Zone Cooling Sizing Factor",
        " DesignDay,                !- Cooling Design Air Flow Method",
        " 0,                        !- Cooling Design Air Flow Rate{ m3 / s }",
        " ,                         !- Cooling Minimum Air Flow per Zone Floor Area{ m3 / s - m2 }",
        " ,                         !- Cooling Minimum Air Flow{ m3 / s }",
        " ,                         !- Cooling Minimum Air Flow Fraction",
        " DesignDay,                !- Heating Design Air Flow Method",
        " 0,                        !- Heating Design Air Flow Rate{ m3 / s }",
        " ,                         !- Heating Maximum Air Flow per Zone Floor Area{ m3 / s - m2 }",
        " ,                         !- Heating Maximum Air Flow{ m3 / s }",
        " ;                         !- Heating Maximum Air Flow Fraction",

        "Sizing:Zone,",
        " Spacex10,                 !- Zone or ZoneList Name",
        " SupplyAirTemperature,     !- Zone Cooling Design Supply Air Temperature Input Method",
        " 12.,                      !- Zone Cooling Design Supply Air Temperature{ C }",
        " ,                         !- Zone Cooling Design Supply Air Temperature Difference{ deltaC }",
        " SupplyAirTemperature,     !- Zone Heating Design Supply Air Temperature Input Method",
        " 50.,                      !- Zone Heating Design Supply Air Temperature{ C }",
        " ,                         !- Zone Heating Design Supply Air Temperature Difference{ deltaC }",
        " 0.008,                    !- Zone Cooling Design Supply Air Humidity Ratio{ kgWater / kgDryAir }",
        " 0.008,                    !- Zone Heating Design Supply Air Humidity Ratio{ kgWater / kgDryAir }",
        " Spacex10 DSOA Design OA Spec, !- Design Specification Outdoor Air Object Name",
        " 0.0,                      !- Zone Heating Sizing Factor",
        " 0.0,                      !- Zone Cooling Sizing Factor",
        " DesignDay,                !- Cooling Design Air Flow Method",
        " 0,                        !- Cooling Design Air Flow Rate{ m3 / s }",
        " ,                         !- Cooling Minimum Air Flow per Zone Floor Area{ m3 / s - m2 }",
        " ,                         !- Cooling Minimum Air Flow{ m3 / s }",
        " ,                         !- Cooling Minimum Air Flow Fraction",
        " DesignDay,                !- Heating Design Air Flow Method",
        " 0,                        !- Heating Design Air Flow Rate{ m3 / s }",
        " ,                         !- Heating Maximum Air Flow per Zone Floor Area{ m3 / s - m2 }",
        " ,                         !- Heating Maximum Air Flow{ m3 / s }",
        " ;                         !- Heating Maximum Air Flow Fraction",
        " ",

        "People,",
        " Space People,             !- Name",
        " Space,                    !- Zone or ZoneList Name",
        " OnSched,                  !- Number of People Schedule Name",
        " people,                   !- Number of People Calculation Method",
        " 11,                       !- Number of People",
        " ,                         !- People per Zone Floor Area{ person / m2 }",
        " ,                         !- Zone Floor Area per Person{ m2 / person }",
        " 0.3,                      !- Fraction Radiant",
        " AutoCalculate,            !- Sensible Heat Fraction",
        " ActivityLevelSched;       !- Activity Level Schedule Name",

        "People,",
        " Spacex10 People,          !- Name",
        " Spacex10,                 !- Zone or ZoneList Name",
        " OnSched,                  !- Number of People Schedule Name",
        " people,                   !- Number of People Calculation Method",
        " 11,                       !- Number of People",
        " ,                         !- People per Zone Floor Area{ person / m2 }",
        " ,                         !- Zone Floor Area per Person{ m2 / person }",
        " 0.3,                      !- Fraction Radiant",
        " AutoCalculate,            !- Sensible Heat Fraction",
        " ActivityLevelSched;       !- Activity Level Schedule Name",

        "Lights,",
        " Space Lights,             !- Name",
        " Space,                    !- Zone or ZoneList Name",
        " OnSched,                  !- Schedule Name",
        " Watts/Area,               !- Design Level Calculation Method",
        " ,                         !- Lighting Level{ W }",
        " 10.0,                     !- Watts per Zone Floor Area{ W / m2 }",
        " ,                         !- Watts per Person{ W / person }",
        " 0.1,                      !- Return Air Fraction",
        " 0.59,                     !- Fraction Radiant",
        " 0.2,                      !- Fraction Visible",
        " 0,                        !- Fraction Replaceable",
        " GeneralLights;            !- End - Use Subcategory",

        "Lights,",
        " Space Lights x10,         !- Name",
        " Spacex10,                 !- Zone or ZoneList Name",
        " OnSched,                  !- Schedule Name",
        " Watts/Area,               !- Design Level Calculation Method",
        " ,                         !- Lighting Level{ W }",
        " 10.0,                     !- Watts per Zone Floor Area{ W / m2 }",
        " ,                         !- Watts per Person{ W / person }",
        " 0.1,                      !- Return Air Fraction",
        " 0.59,                     !- Fraction Radiant",
        " 0.2,                      !- Fraction Visible",
        " 0,                        !- Fraction Replaceable",
        " GeneralLights;            !- End - Use Subcategory",

        "ElectricEquipment,",
        " Space ElecEq,             !- Name",
        " Space,                    !- Zone or ZoneList Name",
        " OnSched,                  !- Schedule Name",
        " Watts/Area,               !- Design Level Calculation Method",
        " ,                         !- Design Level{ W }",
        " 20.0,                     !- Watts per Zone Floor Area{ W / m2 }",
        " ,                         !- Watts per Person{ W / person }",
        " 0.1,                      !- Fraction Latent",
        " 0.3,                      !- Fraction Radiant",
        " 0.1;                      !- Fraction Lost",

        "ElectricEquipment,",
        " Space ElecEq x10,         !- Name",
        " Spacex10,                 !- Zone or ZoneList Name",
        " OnSched,                  !- Schedule Name",
        " Watts/Area,               !- Design Level Calculation Method",
        " ,                         !- Design Level{ W }",
        " 20.0,                     !- Watts per Zone Floor Area{ W / m2 }",
        " ,                         !- Watts per Person{ W / person }",
        " 0.1,                      !- Fraction Latent",
        " 0.3,                      !- Fraction Radiant",
        " 0.1;                      !- Fraction Lost",

        "Schedule:Compact,",
        " OnSched,                  !- Name",
        " Fraction,                 !- Schedule Type Limits Name",
        " Through: 12/31,           !- Field 1",
        " For: AllDays,             !- Field 2",
        " Until: 24:00, 1.0;        !- Field 26",

        "ScheduleTypeLimits,",
        " Fraction,                 !- Name",
        " 0.0,                      !- Lower Limit Value",
        " 1.0,                      !- Upper Limit Value",
        " CONTINUOUS;               !- Numeric Type",

        "Construction,",
        " INT-WALL-1,               !- Name",
        " GP02,                     !- Outside Layer",
        " AL21,                     !- Layer 2",
        " GP02;                     !- Layer 3",

        "Material,",
        " GP02,                     !- Name",
        " MediumSmooth,             !- Roughness",
        " 1.5900001E-02,            !- Thickness{ m }",
        " 0.1600000,                !- Conductivity{ W / m - K }",
        " 801.0000,                 !- Density{ kg / m3 }",
        " 837.0000,                 !- Specific Heat{ J / kg - K }",
        " 0.9000000,                !- Thermal Absorptance",
        " 0.7500000,                !- Solar Absorptance",
        " 0.7500000;                !- Visible Absorptance",

        "Material:AirGap,",
        " AL21,                     !- Name",
        " 0.1570000;                !- Thermal Resistance{ m2 - K / W }",

        "Construction,",
        "FLOOR-SLAB-1,              !- Name",
        "CC03,                      !- Outside Layer",
        "CP01;                      !- Layer 2",

        "Material,",
        " CC03,                     !- Name",
        " MediumRough,              !- Roughness",
        " 0.1016000,                !- Thickness{ m }",
        " 1.310000,                 !- Conductivity{ W / m - K }",
        " 2243.000,                 !- Density{ kg / m3 }",
        " 837.0000,                 !- Specific Heat{ J / kg - K }",
        " 0.9000000,                !- Thermal Absorptance",
        " 0.6500000,                !- Solar Absorptance",
        " 0.6500000;                !- Visible Absorptance",

        "Material:NoMass,",
        " CP01,                     !- Name",
        " Rough,                    !- Roughness",
        " 0.3670000,                !- Thermal Resistance{ m2 - K / W }",
        " 0.9000000,                !- Thermal Absorptance",
        " 0.7500000,                !- Solar Absorptance",
        " 0.7500000;                !- Visible Absorptance",

        "Construction,",
        " CLNG-1,                   !- Name",
        " MAT-CLNG-1;               !- Outside Layer",

        "Material:NoMass,",
        " MAT-CLNG-1,               !- Name",
        " Rough,                    !- Roughness",
        " 0.652259290,              !- Thermal Resistance{ m2 - K / W }",
        " 0.65,                     !- Thermal Absorptance",
        " 0.65,                     !- Solar Absorptance",
        " 0.65;                     !- Visible Absorptance",

        "BuildingSurface:Detailed,",
        " FRONT-1,                  !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Outdoors,                 !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " SunExposed,               !- Sun Exposure",
        " WindExposed,              !- Wind Exposure",
        " 0.50000,                  !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 0.0, 0.0, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 2 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 3 {m}",
        " 30.5, 0.0, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " C1-1-Plenum,              !- Name",
        " CEILING,                  !- Surface Type",
        " CLNG-1,                   !- Construction Name",
        " Plenum Zone,              !- Zone Name",
        "    ,                        !- Space Name",
        " Outdoors,                 !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 3.7, 3.7, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 0.0, 0.0, 2.4,            !- X, Y, Z == > Vertex 2 {m}",
        " 30.5, 0.0, 2.4,           !- X, Y, Z == > Vertex 3 {m}",
        " 26.8, 3.7, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " C1-1,                     !- Name",
        " CEILING,                  !- Surface Type",
        " CLNG-1,                   !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Outdoors,                 !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 3.7, 3.7, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 0.0, 0.0, 2.4,            !- X, Y, Z == > Vertex 2 {m}",
        " 30.5, 0.0, 2.4,           !- X, Y, Z == > Vertex 3 {m}",
        " 26.8, 3.7, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " F1-1,                     !- Name",
        " FLOOR,                    !- Surface Type",
        " FLOOR-SLAB-1,             !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Ground,                   !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 1 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 3.7, 3.7, 0.0;            !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB12,                     !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 30.5, 0.0, 2.4,           !- X, Y, Z == > Vertex 1 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 3 {m}",
        " 26.8, 3.7, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB14,                     !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 3.7, 3.7, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 3.7, 3.7, 0.0,            !- X, Y, Z == > Vertex 2 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 0.0, 0.0, 2.4;            !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB15,                     !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Space,                    !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 26.8, 3.7, 2.4,           !- X, Y, Z == > Vertex 1 {m}",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 3.7, 3.7, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 3.7, 3.7, 2.4;            !- X, Y, Z == > Vertex 4 {m}",

        "ZoneControl:Thermostat,",
        " Space Thermostat,         !- Name",
        " Space,                    !- Zone or ZoneList Name",
        " Dual Zone Control Type Sched,  !- Control Type Schedule Name",
        " ThermostatSetpoint:DualSetpoint,  !- Control 1 Object Type",
        " Space DualSPSched;        !- Control 1 Name",

        "ZoneControl:Thermostat,",
        " Spacex10 Thermostat,      !- Name",
        " Spacex10,                 !- Zone or ZoneList Name",
        " Dual Zone Control Type Sched,  !- Control Type Schedule Name",
        " ThermostatSetpoint:DualSetpoint,  !- Control 1 Object Type",
        " Space DualSPSched;        !- Control 1 Name",

        "Schedule:Compact,",
        " Dual Zone Control Type Sched,  !- Name",
        " Any Number,               !- Schedule Type Limits Name",
        " Through: 12/31,           !- Field 1",
        " For: AllDays,             !- Field 2",
        " Until: 24:00,4;           !- Field 3",

        "ThermostatSetpoint:DualSetpoint,",
        " Space DualSPSched,        !- Name",
        " HTGSETP_SCH,              !- Heating Setpoint Temperature Schedule Name",
        " CLGSETP_SCH;              !- Cooling Setpoint Temperature Schedule Name",

        "Schedule:Compact,",
        " CLGSETP_SCH,              !- Name",
        " Any Number,               !- Schedule Type Limits Name",
        " Through: 12/31,           !- Field 1",
        " For: AllDays,             !- Field 19",
        " Until: 24:00,22.1;        !- Field 20",

        "Schedule:Compact,",
        " HTGSETP_SCH,              !- Name",
        " Any Number,               !- Schedule Type Limits Name",
        " Through: 12/31,           !- Field 1",
        " For: AllDays,             !- Field 22",
        " Until: 24:00, 21.9;       !- Field 23",

        "BuildingSurface:Detailed,",
        " FRONT-1x10,               !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Outdoors,                 !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " SunExposed,               !- Sun Exposure",
        " WindExposed,              !- Wind Exposure",
        " 0.50000,                  !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 0.0, 0.0, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 2 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 3 {m}",
        " 30.5, 0.0, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " C1-1x10,                  !- Name",
        " CEILING,                  !- Surface Type",
        " CLNG-1,                   !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Outdoors,                 !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 3.7, 3.7, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 0.0, 0.0, 2.4,            !- X, Y, Z == > Vertex 2 {m}",
        " 30.5, 0.0, 2.4,           !- X, Y, Z == > Vertex 3 {m}",
        " 26.8, 3.7, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " F1-1x10,                  !- Name",
        " FLOOR,                    !- Surface Type",
        " FLOOR-SLAB-1,             !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Ground,                   !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 1 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 3.7, 3.7, 0.0;            !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB12x10,                  !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 30.5, 0.0, 2.4,           !- X, Y, Z == > Vertex 1 {m}",
        " 30.5, 0.0, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 3 {m}",
        " 26.8, 3.7, 2.4;           !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB14x10,                  !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 3.7, 3.7, 2.4,            !- X, Y, Z == > Vertex 1 {m}",
        " 3.7, 3.7, 0.0,            !- X, Y, Z == > Vertex 2 {m}",
        " 0.0, 0.0, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 0.0, 0.0, 2.4;            !- X, Y, Z == > Vertex 4 {m}",

        "BuildingSurface:Detailed,",
        " SB15x10,                  !- Name",
        " WALL,                     !- Surface Type",
        " INT-WALL-1,               !- Construction Name",
        " Spacex10,                 !- Zone Name",
        "    ,                        !- Space Name",
        " Adiabatic,                !- Outside Boundary Condition",
        " ,                         !- Outside Boundary Condition Object",
        " NoSun,                    !- Sun Exposure",
        " NoWind,                   !- Wind Exposure",
        " 0.0,                      !- View Factor to Ground",
        " 4,                        !- Number of Vertices",
        " 26.8, 3.7, 2.4,           !- X, Y, Z == > Vertex 1 {m}",
        " 26.8, 3.7, 0.0,           !- X, Y, Z == > Vertex 2 {m}",
        " 3.7, 3.7, 0.0,            !- X, Y, Z == > Vertex 3 {m}",
        " 3.7, 3.7, 2.4;            !- X, Y, Z == > Vertex 4 {m}",

        "Sizing:System,",
        " DOAS,                     !- AirLoop Name",
        " VentilationRequirement,   !- Type of Load to Size On",
        " autosize,                 !- Design Outdoor Air Flow Rate {m3/s}",
        " 1.0,                      !- Central Heating Maximum System Air Flow Ratio",
        " 2,                        !- Preheat Design Temperature {C}",
        " 0.008,                    !- Preheat Design Humidity Ratio {kgWater/kgDryAir}",
        " 11,                       !- Precool Design Temperature {C}",
        " 0.008,                    !- Precool Design Humidity Ratio {kgWater/kgDryAir}",
        " 16,                       !- Central Cooling Design Supply Air Temperature {C}",
        " 12.2,                     !- Central Heating Design Supply Air Temperature {C}",
        " NonCoincident,            !- Type of Zone Sum to Use",
        " Yes,                      !- 100% Outdoor Air in Cooling",
        " Yes,                      !- 100% Outdoor Air in Heating",
        " 0.0103,                   !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir}",
        " 0.003,                    !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir}",
        " DesignDay,                !- Cooling Supply Air Flow Rate Method",
        " 0,                        !- Cooling Supply Air Flow Rate {m3/s}",
        " ,                         !- Cooling Supply Air Flow Rate Per Floor Area {m3/s-m2}",
        " ,                         !- Cooling Fraction of Autosized Cooling Supply Air Flow Rate",
        " ,                         !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W}",
        " DesignDay,                !- Heating Supply Air Flow Rate Method",
        " 0,                        !- Heating Supply Air Flow Rate {m3/s}",
        " ,                         !- Heating Supply Air Flow Rate Per Floor Area {m3/s-m2}",
        " ,                         !- Heating Fraction of Autosized Heating Supply Air Flow Rate",
        " ,                         !- Heating Fraction of Autosized Cooling Supply Air Flow Rate",
        " ,                         !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W}",
        " ZoneSum,                  !- System Outdoor Air Method",
        " 1.0,                      !- Zone Maximum Outdoor Air Fraction {dimensionless}",
        " CoolingDesignCapacity,    !- Cooling Design Capacity Method",
        " autosize,                 !- Cooling Design Capacity {W}",
        " ,                         !- Cooling Design Capacity Per Floor Area {W/m2}",
        " ,                         !- Fraction of Autosized Cooling Design Capacity",
        " HeatingDesignCapacity,    !- Heating Design Capacity Method",
        " autosize,                 !- Heating Design Capacity {W}",
        " ,                         !- Heating Design Capacity Per Floor Area {W/m2}",
        " ,                         !- Fraction of Autosized Heating Design Capacity",
        " OnOff;                    !- Central Cooling Capacity Control Method",

        "AirLoopHVAC,",
        "  DOAS,                    !- Name",
        "  ,                        !- Controller List Name",
        "  DOAS Availability Managers,  !- Availability Manager List Name",
        "  autosize,                !- Design Supply Air Flow Rate {m3/s}",
        "  DOAS Branches,           !- Branch List Name",
        "  ,                        !- Connector List Name",
        "  DOAS Air Loop Inlet,     !- Supply Side Inlet Node Name",
        "  DOAS Return Air Outlet,  !- Demand Side Outlet Node Name",
        "  DOAS Supply Path Inlet,  !- Demand Side Inlet Node Names",
        "  DOAS Supply Fan Outlet;  !- Supply Side Outlet Node Names",

        "BranchList,",
        "  DOAS Branches,           !- Name",
        "  DOAS Main Branch;        !- Branch 1 Name",

        "Branch,",
        "  DOAS Main Branch,        !- Name",
        "  ,                        !- Pressure Drop Curve Name",
        "  AirLoopHVAC:OutdoorAirSystem,  !- Component 1 Object Type",
        "  DOAS OA System,          !- Component 1 Name",
        "  DOAS Air Loop Inlet,     !- Component 1 Inlet Node Name",
        "  DOAS Mixed Air Outlet,   !- Component 1 Outlet Node Name",
        "  CoilSystem:Cooling:DX,   !- Component 2 Object Type",
        "  DOAS Cooling Coil,       !- Component 2 Name",
        "  DOAS Mixed Air Outlet,   !- Component 2 Inlet Node Name",
        "  DOAS Cooling Coil Outlet,!- Component 2 Outlet Node Name",
        "  Coil:Heating:Fuel,        !- Component 2 Object Type",
        "  DOAS Heating Coil,       !- Component 2 Name",
        "  DOAS Cooling Coil Outlet,  !- Component 2 Inlet Node Name",
        "  DOAS Heating Coil Outlet,!- Component 2 Outlet Node Name",
        "  Fan:VariableVolume,      !- Component 3 Object Type",
        "  DOAS Supply Fan,         !- Component 3 Name",
        "  DOAS Heating Coil Outlet,!- Component 3 Inlet Node Name",
        "  DOAS Supply Fan Outlet;  !- Component 3 Outlet Node Name",

        "AirLoopHVAC:SupplyPath,",
        "  DOAS Supply Path,        !- Name",
        "  DOAS Supply Path Inlet,  !- Supply Air Path Inlet Node Name",
        "  AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type",
        "  DOAS Zone Splitter;      !- Component 1 Name",

        "AirLoopHVAC:ZoneSplitter,",
        "  DOAS Zone Splitter,      !- Name",
        "  DOAS Supply Path Inlet,  !- Inlet Node Name",
        "  Space ATU In Node,  !- Outlet 1 Node Name",
        "  Spacex10 ATU In Node;  !- Outlet 27 Node Name",

        "AirLoopHVAC:ReturnPath,",
        "  DOAS Return Path,         !- Name",
        "  DOAS Return Air Outlet,   !- Return Air Path Outlet Node Name",
        "  AirLoopHVAC:ReturnPlenum, !- Component 1 Object Type",
        "  DOAS Zone Return Plenum;  !- Component 1 Name",

        "AirLoopHVAC:ReturnPlenum,",
        "  DOAS Zone Return Plenum,  !- Name",
        "  Plenum zone,              !- Zone Name",
        "  Plenum Node,              !- Zone Node Name",
        "  DOAS Return Air Outlet,   !- Outlet Node Name",
        "  ,                         !- Induced Air Outlet Node or NodeList Name",
        "  Space Ret Node,           !- Inlet 1 Node Name",
        "  Spacex10 Ret Node;        !- Inlet 2 Node Name",

        "AvailabilityManagerAssignmentList,",
        "  DOAS Availability Managers,  !- Name",
        "  AvailabilityManager:Scheduled,  !- Availability Manager 1 Object Type",
        "  DOAS Availability;       !- Availability Manager 1 Name",

        "AvailabilityManager:Scheduled,",
        "  DOAS Availability,       !- Name",
        "  AvailSched;              !- Schedule Name",

        "NodeList,",
        "  DOAS Cooling Setpoint Nodes,  !- Name",
        "  DOAS Cooling Coil Outlet, !- Node 1 Name",
        "  DOAS Heating Coil Outlet; !- Node 1 Name",

        "Schedule:Compact,",
        "  Always 22,               !- Name",
        "  Any Number,              !- Schedule Type Limits Name",
        "  Through: 12/31,          !- Field 1",
        "  For: AllDays,            !- Field 2",
        "  Until: 24:00,22;         !- Field 3",

        "SetpointManager:Scheduled,",
        "  DOAS Cooling Supply Air Temp Manager,  !- Name",
        "  Temperature,             !- Control Variable",
        "  Always 22,               !- Schedule Name",
        "  DOAS Supply Fan Outlet;  !- Setpoint Node or NodeList Name",

        "SetpointManager:MixedAir,",
        "  DOAS Cooling Coil Air Temp Manager,  !- Name",
        "  Temperature,             !- Control Variable",
        "  DOAS Supply Fan Outlet,  !- Reference Setpoint Node Name",
        "  DOAS Cooling Coil Outlet,!- Fan Inlet Node Name",
        "  DOAS Supply Fan Outlet,  !- Fan Outlet Node Name",
        "  DOAS Cooling Setpoint Nodes;  !- Setpoint Node or NodeList Name",

        "CoilSystem:Cooling:DX,",
        "  DOAS Cooling Coil,       !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  DOAS Mixed Air Outlet,   !- DX Cooling Coil System Inlet Node Name",
        "  DOAS Cooling Coil Outlet,  !- DX Cooling Coil System Outlet Node Name",
        "  DOAS Cooling Coil Outlet,  !- DX Cooling Coil System Sensor Node Name",
        "  Coil:Cooling:DX:SingleSpeed,  !- Cooling Coil Object Type",
        "  DOAS DX Cooling Coil;    !- Cooling Coil Name",

        "Coil:Cooling:DX:SingleSpeed,",
        "	DOAS DX Cooling Coil,   !- Name",
        " 	AvailSched,            !- Availability Schedule Name",
        "	autosize,              !- Gross Rated Total Cooling Capacity { W }",
        "	autosize,              !- Gross Rated Sensible Heat Ratio",
        "	4.40,                  !- Gross Rated Cooling COP { W / W }",
        "	autosize,              !- Rated Air Flow Rate { m3 / s }",
        "	,                      !- 2017 Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)}",
        "   ,                      !- 2023 Rated Evaporator Fan Power Per Volume Flow Rate {W/(m3/s)}",
        "	DOAS Mixed Air Outlet, !- Air Inlet Node Name",
        "	DOAS Cooling Coil Outlet,    !- Air Outlet Node Name",
        "	Biquadratic,           !- Total Cooling Capacity Function of Temperature Curve Name",
        "	Cubic,                 !- Total Cooling Capacity Function of Flow Fraction Curve Name",
        "	Biquadratic,           !- Energy Input Ratio Function of Temperature Curve Name",
        "	Cubic,                 !- Energy Input Ratio Function of Flow Fraction Curve Name",
        "	Cubic,                 !- Part Load Fraction Correlation Curve Name",
        "	,                      !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C}",
        "	0.0,                   !- Nominal Time for Condensate Removal to Begin",
        "	0.0,                   !- Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity",
        "	0.0,                   !- Maximum Cycling Rate",
        "	0.0,                   !- Latent Capacity Time Constant",
        "	Cooling Coil Condenser Inlet, !- Condenser Air Inlet Node Name",
        "	EvaporativelyCooled,   !- Condenser Type",
        "	0.0,                   !- Evaporative Condenser Effectiveness",
        "	,                      !- Evaporative Condenser Air Flow Rate",
        "	autosize,              !- Evaporative Condenser Pump Rated Power Consumption",
        "	0.0,                   !- Crankcase Heater Capacity",
        "	10.0;                  !- Maximum Outdoor DryBulb Temperature for Crankcase Heater Operation",

        "Coil:Heating:Fuel,",
        "  DOAS Heating Coil,       !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  NaturalGas,              !- Fuel Type",
        "  0.8,                     !- Gas Burner Efficiency",
        "  autosize,                !- Nominal Capacity {W}",
        "  DOAS Cooling Coil Outlet,  !- Air Inlet Node Name",
        "  DOAS Heating Coil Outlet;  !- Air Outlet Node Name",

        "Fan:VariableVolume,",
        "  DOAS Supply Fan,         !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  0.7,                     !- Fan Total Efficiency",
        "  1000,                    !- Pressure Rise {Pa}",
        "  autosize,                !- Maximum Flow Rate {m3/s}",
        "  Fraction,                !- Fan Power Minimum Flow Rate Input Method",
        "  0.0,                     !- Fan Power Minimum Flow Fraction",
        "  ,                        !- Fan Power Minimum Air Flow Rate {m3/s}",
        "  0.9,                     !- Motor Efficiency",
        "  1,                       !- Motor In Airstream Fraction",
        "  0.0015302446,            !- Fan Power Coefficient 1",
        "  0.0052080574,            !- Fan Power Coefficient 2",
        "  1.1086242,               !- Fan Power Coefficient 3",
        "  -0.11635563,             !- Fan Power Coefficient 4",
        "  0,                       !- Fan Power Coefficient 5",
        "  DOAS Heating Coil Outlet,!- Air Inlet Node Name",
        "  DOAS Supply Fan Outlet;  !- Air Outlet Node Name",

        "OutdoorAir:NodeList,",
        "  DOAS Outdoor Air Inlet,  !- Node or NodeList Name 1",
        "  Cooling Coil Condenser Inlet;  !- Node or NodeList Name 2",

        "AirLoopHVAC:OutdoorAirSystem,",
        "  DOAS OA System,           !- Name",
        "  DOAS OA System Controllers,  !- Controller List Name",
        "  DOAS OA System Equipment; !- Outdoor Air Equipment List Name",

        "AirLoopHVAC:ControllerList,",
        "  DOAS OA System Controllers,  !- Name",
        "  Controller:OutdoorAir,   !- Controller 1 Object Type",
        "  DOAS OA Controller;      !- Controller 1 Name",

        "AirLoopHVAC:OutdoorAirSystem:EquipmentList,",
        "  DOAS OA System Equipment,!- Name",
        "  OutdoorAir:Mixer,        !- Component 1 Object Type",
        "  DOAS OA Mixing Box;      !- Component 1 Name",

        "OutdoorAir:Mixer,",
        "  DOAS OA Mixing Box,      !- Name",
        "  DOAS Mixed Air Outlet,   !- Mixed Air Node Name",
        "  DOAS Outdoor Air Inlet,  !- Outdoor Air Stream Node Name",
        "  DOAS Relief Air Outlet,  !- Relief Air Stream Node Name",
        "  DOAS Air Loop Inlet;     !- Return Air Stream Node Name",

        "Controller:OutdoorAir,",
        "  DOAS OA Controller,      !- Name",
        "  DOAS Relief Air Outlet,  !- Relief Air Outlet Node Name",
        "  DOAS Air Loop Inlet,     !- Return Air Node Name",
        "  DOAS Mixed Air Outlet,   !- Mixed Air Node Name",
        "  DOAS Outdoor Air Inlet,  !- Actuator Node Name",
        "  0,                       !- Minimum Outdoor Air Flow Rate {m3/s}",
        "  autosize,                !- Maximum Outdoor Air Flow Rate {m3/s}",
        "  NoEconomizer,            !- Economizer Control Type",
        "  MinimumFlowWithBypass,   !- Economizer Control Action Type",
        "  ,                        !- Economizer Maximum Limit Dry-Bulb Temperature {C}",
        "  ,                        !- Economizer Maximum Limit Enthalpy {J/kg}",
        "  ,                        !- Economizer Maximum Limit Dewpoint Temperature {C}",
        "  ,                        !- Electronic Enthalpy Limit Curve Name",
        "  12.2,                    !- Economizer Minimum Limit Dry-Bulb Temperature {C}",
        "  NoLockout,               !- Lockout Type",
        "  FixedMinimum,            !- Minimum Limit Type",
        "  ,                        !- Minimum Outdoor Air Schedule Name",
        "  ,                        !- Minimum Fraction of Outdoor Air Schedule Name",
        "  ,                        !- Maximum Fraction of Outdoor Air Schedule Name",
        "  DCVObject;               !- Mechanical Ventilation Controller Name",

        "Controller:MechanicalVentilation,",
        "  DCVObject,               !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  Yes,                     !- Demand Controlled Ventilation",
        "  Standard62.1VentilationRateProcedure,!- System Outdoor Air Method",
        "  ,                        !- Zone Maximum Outdoor Air Fraction {dimensionless}",
        "  Space,  !- Zone 1 Name",
        "  Space DSOA Design OA Spec,  !- Design Specification Outdoor Air Object Name 1",
        "  Space DSOA Design ADE Spec, !- Design Specification Zone Air Distribution Object Name 1",
        "  Spacex10,      !- Zone 2 Name",
        "  Spacex10 DSOA Design OA Spec,  !- Design Specification Outdoor Air Object Name 2",
        "  Space DSOA Design ADE Spec;  !- Design Specification Zone Air Distribution Object Name 2",

        "DesignSpecification:OutdoorAir,",
        "  Space DSOA Design OA Spec,  !- Name",
        "  sum,                     !- Outdoor Air Method",
        "  0.0,                     !- Outdoor Air Flow per Person {m3/s-person}",
        "  0.0009,                  !- Outdoor Air Flow per Zone Floor Area {m3/s-m2}",
        "  0;                       !- Outdoor Air Flow per Zone {m3/s}",

        "DesignSpecification:OutdoorAir,",
        "  Spacex10 DSOA Design OA Spec,  !- Name",
        "  sum,                     !- Outdoor Air Method",
        "  0.008,                   !- Outdoor Air Flow per Person {m3/s-person}",
        "  0.0009,                  !- Outdoor Air Flow per Zone Floor Area {m3/s-m2}",
        "  0;                       !- Outdoor Air Flow per Zone {m3/s}",

        "DesignSpecification:ZoneAirDistribution,",
        "  Space DSOA Design ADE Spec,  !- Name",
        "  1,                       !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless}",
        "  1;                       !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless}",

        "ZoneHVAC:EquipmentConnections,",
        " Space,                    !- Zone Name",
        " Space Eq,                 !- Zone Conditioning Equipment List Name",
        " Space In Node,            !- Zone Air Inlet Node or NodeList Name",
        " ,                         !- Zone Air Exhaust Node or NodeList Name",
        " Space Node,               !- Zone Air Node Name",
        " Space Ret Node;           !- Zone Return Air Node Name",

        "ZoneHVAC:EquipmentList,",
        " Space Eq,                 !- Name",
        " SequentialLoad,           !- Load Distribution Scheme",
        " ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type",
        " Space ATU,                   !- Zone Equipment 1 Name",
        " 1,                        !- Zone Equipment 1 Cooling Sequence",
        " 1;                        !- Zone Equipment 1 Heating or No - Load Sequence",

        "ZoneHVAC:AirDistributionUnit,",
        "  Space ATU,  !- Name",
        "  Space In Node,  !- Air Distribution Unit Outlet Node Name",
        "  AirTerminal:SingleDuct:VAV:NoReheat,  !- Air Terminal Object Type",
        "  Space Air Terminal;  !- Air Terminal Name",

        "AirTerminal:SingleDuct:VAV:NoReheat,",
        "  Space Air Terminal,      !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  Space In Node,           !- Air Outlet Node Name",
        "  Space ATU In Node,       !- Air Inlet Node Name",
        "  autosize,                !- Maximum Air Flow Rate {m3/s}",
        "  Constant,                !- Zone Minimum Air Flow Input Method",
        "  0.0,                     !- Constant Minimum Air Flow Fraction",
        "  ,                        !- Fixed Minimum Air Flow Rate {m3/s}",
        "  ,                        !- Minimum Air Flow Fraction Schedule Name",
        "  ;                        !- Design Specification Outdoor Air Object Name",

        "ZoneHVAC:EquipmentConnections,",
        " Spacex10,                 !- Zone Name",
        " Spacex10 Eq,              !- Zone Conditioning Equipment List Name",
        " Spacex10 In Node,         !- Zone Air Inlet Node or NodeList Name",
        " ,                         !- Zone Air Exhaust Node or NodeList Name",
        " Spacex10 Node,            !- Zone Air Node Name",
        " Spacex10 Ret Node;        !- Zone Return Air Node Name",

        "ZoneHVAC:EquipmentList,",
        " Spacex10 Eq,              !- Name",
        " SequentialLoad,           !- Load Distribution Scheme",
        " ZoneHVAC:AirDistributionUnit, !- Zone Equipment 1 Object Type",
        " Spacex10 ATU,                !- Zone Equipment 1 Name",
        " 1,                        !- Zone Equipment 1 Cooling Sequence",
        " 1;                        !- Zone Equipment 1 Heating or No - Load Sequence",

        "ZoneHVAC:AirDistributionUnit,",
        "  Spacex10 ATU,  !- Name",
        "  Spacex10 In Node,  !- Air Distribution Unit Outlet Node Name",
        "  AirTerminal:SingleDuct:VAV:NoReheat,  !- Air Terminal Object Type",
        "  Spacex10 Air Terminal;  !- Air Terminal Name",

        "AirTerminal:SingleDuct:VAV:NoReheat,",
        "  Spacex10 Air Terminal,   !- Name",
        "  AvailSched,              !- Availability Schedule Name",
        "  Spacex10 In Node,        !- Air Outlet Node Name",
        "  Spacex10 ATU In Node,    !- Air Inlet Node Name",
        "  autosize,                !- Maximum Air Flow Rate {m3/s}",
        "  Constant,                !- Zone Minimum Air Flow Input Method",
        "  0.0,                     !- Constant Minimum Air Flow Fraction",
        "  ,                        !- Fixed Minimum Air Flow Rate {m3/s}",
        "  ,                        !- Minimum Air Flow Fraction Schedule Name",
        "  ;                        !- Design Specification Outdoor Air Object Name",

        "ScheduleTypeLimits,",
        "  Any Number;              !- Name",

        "Schedule:Compact,",
        "  AvailSched,              !- Name",
        "  Any Number,              !- Schedule Type Limits Name",
        "  Through: 12/31,          !- Field 3",
        "  For: AllDays,            !- Field 4",
        "  Until: 24:00,1.0;        !- Field 5",

        "Schedule:Compact,",
        "  EquipSched,              !- Name",
        "  Any Number,              !- Schedule Type Limits Name",
        "  Through: 12/31,          !- Field 3",
        "  For: WinterDesignDay,    !- Field 4",
        "  Until: 24:00,0.0,        !- Field 5",
        "  For: AllOtherDays,       !- Field 4",
        "  Until: 24:00,1.0;        !- Field 5",

        "Schedule:Compact,",
        "  ActivityLevelSched,      !- Name",
        "  Any Number,              !- Schedule Type Limits Name",
        "  Through: 12/31,          !- Field 3",
        "  For: AllDays,            !- Field 4",
        "  Until: 24:00,120.0;      !- Field 5",

        "Schedule:Compact,",
        "  FanOpModeSchedule,       !- Name",
        "  Any Number,              !- Schedule Type Limits Name",
        "  Through: 12/31,          !- Field 1",
        "  For: AllDays,            !- Field 2",
        "  Until: 24:00,1.0;        !- Field 7",

        "Curve:Biquadratic,",
        "  Biquadratic,             !- Name",
        "  1.0,                     !- Coefficient1 Constant",
        "  0.0,                     !- Coefficient2 x",
        "  0.0,                     !- Coefficient3 x**2",
        "  0.0,                     !- Coefficient4 y",
        "  0.0,                     !- Coefficient5 y**2",
        "  0.0,                     !- Coefficient6 x*y",
        "  5,                       !- Minimum Value of x",
        "  40,                      !- Maximum Value of x",
        "  5,                       !- Minimum Value of y",
        "  40,                      !- Maximum Value of y",
        "  ,                        !- Minimum Curve Output",
        "  ,                        !- Maximum Curve Output",
        "  Temperature,             !- Input Unit Type for X",
        "  Temperature,             !- Input Unit Type for Y",
        "  Dimensionless;           !- Output Unit Type",

        "Curve:Cubic,",
        "  Cubic,                   !- Name",
        "  1.0,                     !- Coefficient1 Constant",
        "  0.0,                     !- Coefficient2 x",
        "  0.0,                     !- Coefficient3 x**2",
        "  0,                       !- Coefficient4 x**3",
        "  5,                       !- Minimum Value of x",
        "  40,                      !- Maximum Value of x",
        "  ,                        !- Minimum Curve Output",
        "  ,                        !- Maximum Curve Output",
        "  Temperature,             !- Input Unit Type for X",
        "  Temperature;             !- Output Unit Type",
    });

    ASSERT_TRUE(process_idf(idf_objects));

    // OutputProcessor::TimeValue.allocate(2);
    state->dataGlobal->DDOnlySimulation = true;

    state->init_state(*state);

    OutputReportPredefined::SetPredefinedTables(*state);
    SetPreConstructionInputParameters(*state); // establish array bounds for constructions early
    createFacilityElectricPowerServiceObject(*state);
    BranchInputManager::ManageBranchInput(*state);
    state->dataGlobal->BeginSimFlag = true;
    state->dataGlobal->BeginEnvrnFlag = true;
    state->dataGlobal->ZoneSizingCalc = true;
    SizingManager::ManageSizing(*state);

    bool ErrorsFound(false);
    BranchNodeConnections::CheckNodeConnections(*state, ErrorsFound);
    EXPECT_FALSE(ErrorsFound);
}

TEST_F(EnergyPlusFixture, Fix_BranchNodeErrorCheck10Test)
{
    bool errFlag = false;
    RegisterNodeConnection(*state,
                           1,
                           "FirstNode",
                           DataLoopNode::ConnectionObjectType::FanOnOff,
                           "Object1",
                           DataLoopNode::ConnectionType::ZoneNode,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    RegisterNodeConnection(*state,
                           2,
                           "GoodNode",
                           DataLoopNode::ConnectionObjectType::FanOnOff,
                           "Object2",
                           DataLoopNode::ConnectionType::Sensor,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    RegisterNodeConnection(*state,
                           1,
                           "OkNode",
                           DataLoopNode::ConnectionObjectType::FanOnOff,
                           "Object3",
                           DataLoopNode::ConnectionType::ZoneNode,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    RegisterNodeConnection(*state,
                           2,
                           "GoodNode",
                           DataLoopNode::ConnectionObjectType::FanOnOff,
                           "Object4",
                           DataLoopNode::ConnectionType::Outlet,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);

    RegisterNodeConnection(*state,
                           3,
                           "PSZ-AC:4_OA-PSZ-AC:4_UNITARY_PACKAGENODE",
                           DataLoopNode::ConnectionObjectType::ControllerOutdoorAir,
                           "PSZ-AC4_OA_CONTROLLER",
                           DataLoopNode::ConnectionType::Sensor,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    RegisterNodeConnection(*state,
                           4,
                           "PSZ-AC:4_OAINLET NODE",
                           DataLoopNode::ConnectionObjectType::ControllerOutdoorAir,
                           "PSZ-AC4_OA_CONTROLLER",
                           DataLoopNode::ConnectionType::Actuator,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    RegisterNodeConnection(*state,
                           5,
                           "PSZ-AC:4_OARELIEF NODE",
                           DataLoopNode::ConnectionObjectType::ControllerOutdoorAir,
                           "PSZ-AC4_OA_CONTROLLER",
                           DataLoopNode::ConnectionType::Actuator,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);
    RegisterNodeConnection(*state,
                           6,
                           "PSZ-AC:4 SUPPLY EQUIPMENT INLET NODE",
                           DataLoopNode::ConnectionObjectType::ControllerOutdoorAir,
                           "PSZ-AC4_OA_CONTROLLER",
                           DataLoopNode::ConnectionType::Sensor,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);

    RegisterNodeConnection(*state,
                           7,
                           "PSZ-AC:1_OAINLET NODE",
                           DataLoopNode::ConnectionObjectType::CoilUserDefined,
                           "PSZ-AC:1 OA HEAT RECOVERY",
                           DataLoopNode::ConnectionType::Inlet,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);

    RegisterNodeConnection(*state,
                           8,
                           "PSZ-AC:1 HEAT RECOVERY OUTLET NODE",
                           DataLoopNode::ConnectionObjectType::CoilUserDefined,
                           "PSZ-AC:1 OA HEAT RECOVERY",
                           DataLoopNode::ConnectionType::Outlet,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);

    RegisterNodeConnection(*state,
                           9,
                           "PSZ-AC:1_OARELIEF NODE",
                           DataLoopNode::ConnectionObjectType::CoilUserDefined,
                           "PSZ-AC:1 OA HEAT RECOVERY",
                           DataLoopNode::ConnectionType::Inlet,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);

    RegisterNodeConnection(*state,
                           10,
                           "PSZ-AC:1 HEAT RECOVERY SECONDARY OUTLET NODE",
                           DataLoopNode::ConnectionObjectType::CoilUserDefined,
                           "PSZ-AC:1 OA HEAT RECOVERY",
                           DataLoopNode::ConnectionType::Outlet,
                           NodeInputManager::CompFluidStream::Primary,
                           false,
                           errFlag);

    bool ErrorsFound = false;

    CheckNodeConnections(*state, ErrorsFound);

    EXPECT_TRUE(ErrorsFound); // Node check will fail on Check 10 -- having both inelt and outlet connections > 1 on a flow stream
    EXPECT_EQ(state->dataErrTracking->LastSevereError, "(Developer) Node Connection Error, Object=Coil:UserDefined:PSZ-AC:1 OA HEAT RECOVERY");
}

} // namespace EnergyPlus
